首页 > 代码库 > 作业10
作业10
1.有5名学生,每名学生有语文、数学和外语3门课的考试成绩。编程统计各学生的总分和平均分以及所有学生各科的平均分。要求成绩在程序中初始化,结果以表格的形式输出。
#include<stdio.h> #define N 5 int main() { int a[5][3],i,j,sumA=0,sum1; double sum[N],n,ave=0; printf("input the score:\n"); for(i=0;i<5;i++) { printf("输入第%d个学生的成绩:\n",i+1); for(j=0;j<3;j++) { scanf("%d",&a[i][j]); } } for(i=0;i<5;i++) { for(j=0;j<3;j++) { sumA=sumA+a[i][j]; ave=(double)sumA/15; } } for(i=0;i<5;i++) { sum1=0; for(j=0;j<3;j++) { sum1=sum1+a[i][j]; sum[i]=(double)sum1/3; } } printf ("语文 数学 英语 平均分\n"); for(i=0;i<5;i++) { for(j=0;j<3;j++) { printf ("%3d ",a[i][j]); } printf(" %.2f\n",sum[i]); } printf("五个学生总分%d,平均分%.2lf",sumA,ave) ; return 0; }
2.求任意方阵每行、每列、两对角线上元素之和。
#include <stdio.h> #define N 100 int main() { int a[N][N],i,j,x,n=0,sum=0; printf("输入行数\n"); scanf("%d",&x); for(i=0;i<x;i++) { printf("\n"); for(j=0;j<x;j++) { n++; a[i][j]=n; printf("%4d",n); } } printf("\n"); for(i=0;i<x;i++) { sum=0; for(j=0;j<x;j++) { sum+=a[i][j]; } printf("第%d行的和为%d\n",i+1,sum); } for(j=0;j<x;j++) { sum=0; for(i=0;i<x;i++) { sum+=a[i][j]; } printf("第%d列的和为%d\n",j+1,sum); } sum=0; for(i=0;i<x;i++) { for(j=0;j<x;j++) { if(i==j) { sum+=a[i][j]; } } } printf("从左上到右下的对角线的和为%d\n",sum); sum=0; for(i=0;i<x;i++) { for(j=x;j>=0;j--) { if(i==j) { sum+=a[i][j]; } } } printf("从右上到左下的对角线的和为%d\n",sum); return 0; }
实验总结
1.定义函数时要想清楚有没有返回值.
2.数字的初始值一定要定义.
3.字符的类型要想好.
4.尽量简化程序 ,比如相同的循环可以直接套在一个循环里.
5.二维数组的行和列要分清。
作业10
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。