标签:images 注意 blog print 函数 下标 元素 return 求和
1.有5名学生,每名学生有语文、数学和外语3门课的考试成绩。编程统计各学生的总分和平均分以及所有学生各科的平均分。要求成绩在程序中初始化,结果以表格的形式输出。
#include<stdio.h> #define N 3 #define M 5 void readScore(int score[M][M]); void aveforStud(int score[M][M],double ave[M][M]); void aveforCourse(int score[M][M],double asd[4]); int main() { int score[M][M],i,j; double ave[M][M],asd[4]; readScore(score); aveforStud(score,ave); printf(" 语文 数学 英语 总分 平均分\n"); for(i=0;i<M;i++) { for(j=0;j<4;j++) { printf(" %8d",score[i][j]); } printf("% 8.2f\n",ave[i][4]); printf("\n"); } aveforCourse(score,asd); printf("平均分"); for(i=0;i<4;i++) { printf("%7.2f ",asd[i]); } } void readScore(int score[M][M]) { int j,i,sum=0; printf("输入成绩"); for(i=0;i<M;i++) { sum=0; printf("输入第%d个学生的成绩\n",i+1); for(j=0;j<N;j++) { scanf("%d",&score[i][j]); sum+=score[i][j]; } score[i][3]=sum; } } void aveforStud(int score[M][M],double ave[M][M]) { int i; for(i=0;i<M;i++) { ave[i][4]=score[i][3]/3.0; } } void aveforCourse(int score[M][M],double asd[4]) { int i,j,sum; for(i=0;i<4;i++) { sum=0; for(j=0;j<5;j++) { sum+=score[j][i]; } asd[i]=sum/5.0; } }
2.求任意方阵每行、每列、两对角线上元素之和
#include<stdio.h> #define N 100 int main() { int i,j,H,x=0,zhen[N][N],sum; printf("输入方阵行数"); scanf("%d",&H); for(i=0;i<H;i++) { for(j=0;j<H;j++) { x++; zhen[i][j]=x; printf("%3d",x); } printf("\n"); } for(i=0;i<H;i++) { sum=0; for(j=0;j<H;j++) { sum+=zhen[i][j]; } printf("第%d行元素和为%d\n",i+1,sum); } for(i=0;i<H;i++) { sum=0; for(j=0;j<H;j++) { sum+=zhen[j][i]; } printf("第%d列元素和为%d\n",i+1,sum); } sum=0; for(i=0;i<H;i++) { sum+=zhen[i][i]; } printf("左上到右下元素和为%d\n",sum); sum=0; j=H-1; for(i=0;i<H;i++) { sum+=zhen[i][j]; j--; } printf("右上到左下元素和为%d\n",sum); return 0; }
实验总结:1.如果是多次求和的话,每次重新求和时都要给sum赋初值。
2.注意函数类型。
3.下标值应在已定义的数组范围内。
标签:images 注意 blog print 函数 下标 元素 return 求和
原文地址:http://www.cnblogs.com/gangfeng/p/6160900.html