首页 > 代码库 > 第十次作业
第十次作业
1.有5名学生,每名学生有语文、数学和外语3门课的考试成绩。编程统计各学生的总分和平均分以及所有学生各科的平均分。要求成绩在程序中初始化,结果以表格的形式输出。
#include<stdio.h> #define M 5 #define N 5 int main() { int a,b; double sum; double he[5]={0},shu[M][N]={{55,49,46},{58,84,76},{94,56,86},{49,78,56},{49,85,75}}; printf("\t语文\t数学\t英语\t总和\t平均\n"); for(a=0;a<M;a++) { sum=0; for(b=0;b<N-2;b++) { sum=sum+shu[a][b]; } shu[a][3]=sum; shu[a][4]=shu[a][3]/(N-2); } for(a=0;a<M;a++) { printf("\t"); for(b=0;b<N;b++) { printf("%.2f\t",shu[a][b]); } printf("\n"); } for(a=0;a<M;a++) { sum=0; for(b=0;b<N;b++) { sum=sum+shu[b][a]; } he[a]=sum/N; } printf("平均\t"); for(a=0;a<N;a++) { printf("%.2f\t",he[a]); } return 0; }
2.求任意方阵每行、每列、两对角线上元素之和。
#include<stdio.h> #define M 3 #define N 3 int main() { int a[M][N]={{1,2,3},{1,2,3},{1,2,3}}; int i,j,hang1=0,hang2=0,hang3=0,lie1=0,lie2=0,lie3=0,zuoxie=0,youxie=0; for(i=0;i<N;i++) { for(j=0;j<M;j++) { printf("%d ",a[i][j]); } printf("\n"); } for(i=0;i<N;i++) { hang1=hang1+a[0][i]; hang2=hang2+a[1][i]; hang3=hang3+a[2][i]; lie1=lie1+a[i][0]; lie2=lie2+a[i][1]; lie3=lie3+a[i][2]; zuoxie=zuoxie+a[i][i]; youxie=youxie+a[i][N-1-i]; } printf("第一行是%d\n第二行是%d\n第三行是%d\n第一列是%d\n第二列是%d\n第三列是%d\n左斜对角线是%d\n右斜对角线是%d\n",hang1,hang2,hang3,lie1,lie2,lie3,zuoxie,youxie); return 0; }
二、实验总结;
1.在一维数组的输入与输出时,用一层循环来实现,在二维数组的输入与输出时,用两层循环来实现,用外层循环来控制行数,用内层循环来控制列数。
2.制作表格用\t,一个\t表示4个字符。
3.在循环中要注意先循环行还是先循环列。
4.二维数组中可以省略行的数组长度,但是不能省略列的数组长度。
第十次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。