| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> Educoder平台 C语言 数组及其应用 -> 正文阅读 |
|
[数据结构与算法]Educoder平台 C语言 数组及其应用 |
第1关:折半查找任务描述 本关任务:由 相关知识 相关知识略 编程要求 请仔细阅读右侧代码,结合相关知识,在 测试说明 平台会对你编写的代码进行测试: 测试输入: 预期输出: 测试输入: 预期输出: #include?<stdio.h> #define???N???10 int?main() {?? ????int?i,?a[N]={-5,4,9,15,28,45,66,89,100,180?},?k=-1,?m; ????int?low=0,?high=N-1,?mid; ????for(i=0;i<N;i++)?? ????????printf("%d?",?a[i]); ????printf("\n"); ???? ????scanf("%d",&m); ????while(low?<=?high) ????{?? ????????mid?=?(low?+?high)?/?2; ????????if(m?<?a[mid]) ????????????high?=?mid-1; ???????????? ????????/*****?以下一行有错误?*****/ ????????else?if(m?>?a[mid])?????low=mid+1; ???????? ???????? ????????/*****?以下一行有错误?*****/ ????????else??{k=mid;break;}??? ????} ???? ????if(k>=0)?? ????????printf("m=%d,index=%d\n",m,k); ????else?????? ????????printf("Not?be?found!\n"); ???? ????return?0; } 第2关:二位数组操作任务描述 本关任务:输入一个 输入: 第一行为一个整数 输出: 数组处理后的结果。 相关知识 相关知识略 编程要求 请仔细阅读右侧代码,结合相关知识,在 测试说明 平台会对你编写的代码进行测试: 测试输入: 预期输出: 提示: 二维数组的数据输入方法为:
/**********?Begin?**********/ #include<stdio.h> int?main() { ????int?i,j,n; ????scanf("%d",&n); ????int?a[n][n]; ????for(i=0;i<n;i++) ?????for(j=0;j<n;j++) ?????scanf("%d",&a[i][j]); ????for(i=0;i<n;i++) ?????{for(j=0;j<n;j++) ??????{ ??????????if(i<0||j<0) ??????????break; ??????????else?if(i==(n-1)) ??????????a[i][j]=0; ??????????else?if(i==(n-2)&&j<(n-1)) ??????????a[i][j]=0; ??????????else?if(i==(n-3)&&j<(n-2)) ??????????a[i][j]=0; ??????????else?if(i==(n-4)&&j<(n-3)) ??????????a[i][j]=0; ??????} ?????} ???for(i=0;i<n;i++) ????{ ????????for(j=0;j<n;j++) ?????{ ?????????printf("%d?",a[i][j]); ?????????if(j%(n-1)==0&&j!=0) ?????????printf("\n"); ?????} ????} ?????return?0; } /**********?End?**********/ 第3关:二维数组的展开任务描述 本关任务:编写程序,功能是将 输入: 第一行为两个整数 输出: 处理后输出的一维数组。 相关知识 相关知识略 编程要求 请仔细阅读右侧代码,结合相关知识,在 测试说明 平台会对你编写的代码进行测试: 测试输入: /**********?Begin?**********/ #include?<stdio.h> #define???N???20 int?main() { ????char?a[N][N]; ????int?i,?j,?n,?m; ????scanf("%d?%d",&n,?&m); ????getchar(); ????for(i=0;?i<n;?i++){ ????????for(j=0;?j<m;?j++) ????????????a[i][j]?=?getchar(); ????????getchar(); ????} ????for(i=0;?i<m;?i++) ????????for(j=0;?j<n;?j++) ????????????printf("%c",a[j][i]); ????return?0; } /**********?End?**********/ 第4关:数组元素交换任务描述 本关任务:有一个 输入: 第一行为两个整数,表示 输出: 第一行输出提示"原矩阵:"。 第二行开始输出原矩阵数据。 接下来一行输出提示"处理后:"。 接下来一行开始输出处理后的矩阵数据。 相关知识 相关知识略 编程要求 请仔细阅读右侧代码,结合相关知识,在 测试说明 平台会对你编写的代码进行测试: 测试输入: 预期输出: /**********?Begin?**********/ #?include?<stdio.h> int?main?(void) { int?n,i,j,k,c,d; scanf("%d?%d",&c,&d); int?a[3][4]; for?(i=0;i<3;i++) for?(j=0;j<4;j++) scanf("%d",&a[i][j]); printf("原矩阵:\n"); for?(i=0;i<3;i++) { for?(j=0;j<4;j++) printf("%d?",a[i][j]); printf("\n"); } for(i=0;i<3;i++) { k=0; for(j=1;j<4;j++) if(a[i][j]>a[i][k]) k=j; n=a[i][0];a[i][0]=a[i][k];a[i][k]=n; } printf("处理后:\n"); for?(i=0;i<3;i++) { for?(j=0;j<4;j++) printf("%d?",a[i][j]); printf("\n"); } return?0; } /**********?End?**********/ 第5关:幻方任务描述 幻方(
本关任务:编写程序判定 输入: 第一行为一个整数,代表矩阵维数 输出: 判断结果,若是幻方则输出 相关知识 相关知识略 编程要求 请仔细阅读右侧代码,结合相关知识,在 测试说明 平台会对你编写的代码进行测试: 测试输入: 预期输出: /**********?Begin?**********/ #include<stdio.h> #define?N?20 int?main() { ????int?a[N][N]; ????int?i,?j; ????int?n,?sum=0,?temp,?t=0,?f=0; ????scanf("%d",?&n); ????for(i=0;?i<n;?i++) ????????for(j=0;?j<n;?j++) ????????????scanf("%d",&a[i][j]);//?输入矩阵 ????for(i=0;?i<n;?i++) ????{ ????????sum?+=?a[0][i];//求第一行元素和 ????} ???? ????for(i=1;?i<n;?i++) ????{ ????????temp?=?0; ????????for(j=0;?j<n;?j++) ????????{ ????????????temp?+=?a[i][j]; ????????} ????????if(temp?!=?sum) ????????{ ????????????f?=?1; ????????????break; ????????} ????} ????//?判断每列元素和是否和第一行元素和相等 ????if(f?==?0) ????{ ????????for(i=0;?i<n;?i++) ????{ ????????????temp?=?0; ????????????for(j=0;?j<n;?j++) ????????????{ ????????????????temp?+=?a[j][i]; ????????????} ????????????if(temp?!=?sum) ????????????{ ????????????????f?=?1; ????????????????break; ????????????} ????????} ????} ????//?判断对角线元素和是否和第一行元素和相等 ????temp?=?0; ????if(f?==?0) ????{ ????????for(i=0;?i<n;?i++) ????????{ ????????????temp?+=?a[i][i]; ????????????t?+=a[i][n-i-1]; ????????} ????????if(temp?!=?sum?||?t?!=?sum)?f?=?1; ????} ????//判断反对角线元素和是否和第一行元素和相等 ????if(f==0)?printf("Yes"); ????else?printf("No"); ????return?0; } /**********?End?**********/ |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 15:51:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |