首页 > 代码库 > 2012-12-10
2012-12-10
1.有5名学生,每名学生有语文、数学和外语3门课的考试成绩。编程统计各学生的总分和平均分以及所有学生各科的平均分。要求成绩在程序中初始化,结果以表格的形式输出。
#include <stdio.h> #define M 5 //五名学生 #define N 3 //三门课程 void readscore(int score[M][N]); //输入函数 void sumscore(int score[M][N],int sum[]); //每个学生成绩和 void average(int score[M][N],int ave[]); //每个人平均分 int main() { int score[M][N]={0},i,j,sum[M]={0},sum2=0; double ave[M]={0},ave1[N]={0}; readscore(score); sumscore(score,sum); average(score,ave); printf("\n \t语文 \t数学 \t英语 \t总分 \t平均分\n"); for(i=0;i<M;i++) { for(j=0;j<N;j++) { printf("\t%2d",score[i][j]); } printf("\t%2d",sum[i]); printf("\t%.2f",ave[i]); printf("\n"); } printf("\n平均分"); //各科成绩平均分 for(i=0;i<N;i++) { sum2=0; for(j=0;j<M;j++) { sum2+=score[i][j]; } ave1[i]=(double)sum2/M; printf("\t%.2f",ave[i]); } printf("\n"); return 0; } void readscore(int score[M][N]) //输入函数 { int i,j; printf("请输入学生成绩\n"); for(i=0;i<M;i++) { printf("请输入第%d个学生成绩\n",i+1); for(j=0;j<N;j++) { scanf("%d",&score[i][j]); } } } void sumscore(int score[M][N],int sum[]) //每个学生成绩和 { int i,j,sum1; for(i=0;i<M;i++) { sum1=0; for(j=0;j<N;j++) { sum1+=score[i][j]; } sum[i]=sum1; } } void average(int score[M][N],double ave[]) //每个人平均分 { int i,j,sum; for(i=0;i<M;i++) { sum=0; for(j=0;j<N;j++) { sum+=score[i][j]; } ave[i]=(double)sum/N; } }
总结:注意变量名和地址名不能相同 注意输出格式的控制 行列别搞混
2.求任意方阵每行、每列、两对角线上元素之和。
#include <stdio.h> #define N 100 #define M 100 int main() { int arr[N][M],i,j,n,m,sum1=0,sum2=0; printf("请输入行列\n"); scanf("%d%d",&n,&m); for(i=0;i<n;i++) { printf("请输入第%d行数字\n",i+1); for(j=0;j<m;j++) { scanf("%d",&arr[i][j]); } } for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(i==j) { sum1+=arr[i][j]; } if(i+j==n-1) { sum2+=arr[i][j]; } } } printf("对角线之和分别为%d %d\n",sum1,sum2); return 0; }
总结:找规律对角线的坐标i和j相等 或者 相加=n-1, 不要忘记给sum赋初值
知识点总结:
1. 二维数组 数组名【下标】【下标】,注意:下标值应在已定义的数组大小的范围内
2. 可以省略数组第一维的长度,不能省略第二维的长度
3. 在一维数组的输入与输出时,用一层循环来实现,在二维数组的输入与输出时,用两层循环来实现,即用外层循环来控制行数,用内层循环来控制列数
4. 二维数组虽然称作二维,但在计算机中存储时是一维的
2012-12-10
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。