首页 > 代码库 > 第十次作业
第十次作业
一、实验内容
1.有5名学生,每名学生有语文、数学和外语3门课的考试成绩。编程统计各学生的总分和平均分以及所有学生各科的平均分。要求成绩在程序中初始化,结果以表格的形式输出。
# include<stdio.h> # define N 6 # define M 6 void readscore(int score[M][N]); void aveforstud(int score[M][N],double ave[]); void aveforcourse(int score[M][N],double ave[]); void sum(int score[M][N],int isum[]); int main() { int i,j,score[M][N],isum[M]={0}; double ave[M-1]={0}; readscore(score);//输入成绩 sum(score,isum); //输出每位学生的总分 aveforstud(score,ave);//输出每个学生的平均值 printf(" 语文 数学 英语 总分 平均分\n"); for(i=0;i<M-1;i++) { printf("%d",i+1); for(j=0;j<N-3;j++) { printf("%4d",score[i][j]); } printf("\t\t%d\n",isum[i]); printf("\t\t\t\t%lf\n",ave[i]); printf("\n"); } aveforcourse(score,ave);//输出每科的平均值 printf("平均值"); for(i=1;i<N-2;i++) { printf("%.2lf",ave[i]); } return 0; } void readscore(int score[M][N])//输入函数 { int i,j; printf("输入五位学生的成绩:\n"); for(i=0;i<M-1;i++) { printf("输入第%d个学生的成绩:\n",i+1); for(j=0;j<N-3;j++) { scanf("%d",&score[i][j]); } } } void sum(int score[M][N],int isum[])//每位学生的总分的函数 { int i,j,sum; for(i=0;i<M-1;i++) { sum=0; for(j=0;j<N-3;j++) { sum+=score[i][j]; } isum[i]=sum; } } void aveforstud(int score[M][N],double ave[])//每位学生的平均分的函数 { int i,j,sum; for(i=0;i<M-1;i++) { sum=0; for(j=0;j<N-3;j++) { sum+=score[i][j]; } ave[i]=(double)sum/3.0; } } void aveforcourse(int score[M][N],double ave[])//每科的平均分的函数 { int i,j,sum; for(j=0;j<N-3;j++) { sum=0; for(i=0;i<M-1;i++) { sum+=score[i][j]; } } ave[i]=(double)sum/5.0; }
2.求任意方阵每行、每列、两对角线上元素之和。
# include <stdio.h> # define N 100 # define M 100 int main() { int i,j,m,sum[M][N],sum1,sum2,sum3,sum4; printf("请输入行列数m\n"); scanf("%d",&m); for(i=0;i<m;i++) { printf("请输入第%d行的数字:\n",i+1); for(j=0;j<m;j++) { scanf("%d",&sum[i][j]); } } for(i=0;i<m;i++) { sum1=0; for(j=0;j<m;j++) { sum1+=sum[i][j]; } printf("第%d行的和为:%d\n",i+1,sum1); } for(j=0;j<m;j++) { sum2=0; for(i=0;i<m;i++) { sum2+=sum[i][j]; } printf("第%d列的和为:%d\n",j+1,sum2); } sum3=0; sum4=0; for(i=0;i<m;i++) { sum3+=sum[i][i]; sum4+=sum[i][m-1-i]; } printf("对角线之和为%d %d\n",sum3,sum4); return 0; }
二.实验总结:
1.记住加‘&’
2.注意赋初值
3.在第一题主函数要将所需输出的值嵌套在for循环中
4.注意变量名和地址名不能相同
5..表格的输出使用\t,表示水平制表位。
第十次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。