首页 > 代码库 > 第十次实验
第十次实验
1.有5名学生,每名学生有语文、数学和外语3门课的考试成绩。编程统计各学生的总分和平均分以及所有学生各科的平均分。要求成绩在程序中初始化,结果以表格的形式输出。
#include <stdio.h> int main() { int score[5][3]={{60,60,60},{50,50,50},{70,70,70},{80,80,80},{90,90,90}}; int j,i,suma,sumb,SUMA[5]; double avea[5],aveb[3]; printf(" 语文 数学 英语 总分 平均分\n"); for(i=0;i<5;i++)//个人平均分最大值 { suma=0; for(j=0;j<3;j++) { suma+=score[i][j]; SUMA[i]=suma; } SUMA[i]=suma; avea[i]=(double)suma/3; } for(j=0;j<3;j++)//学科平均分 { sumb=0; for(i=0;i<5;i++) { sumb+=score[i][j]; } aveb[j]=(double)sumb/5; } for(i=0;i<5;i++) { printf("第%d名学生:",i+1); for(j=0;j<3;j++) { printf("%d ",score[i][j]); } printf("%d %.1f\n",SUMA[i],avea[i]); } printf(" 平均分:"); for(i=0;i<3;i++) { printf("%.1f ",aveb[i]); } printf("\n"); return 0; }
2.求任意方阵每行、每列、两对角线上元素之和。
#include <stdio.h> int main() { int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},suma[3],sumb[3],num[2]; int i,j,sum,numa=0,numb=0; printf("array a:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%5d",a[i][j]); } printf("\n"); } for(i=0;i<3;i++) { sum=0; for(j=0;j<3;j++) { sum+=a[i][j]; } suma[i]=sum; } for(j=0;j<3;j++) { sum=0; for(i=0;i<3;i++) { sum+=a[i][j]; } sumb[j]=sum; } for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(i==j) { numa+=a[i][j]; } } } num[0]=numa; for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(i+j==2) { numb+=a[i][j]; } } } num[1]=numb; printf("每行的和为:"); for(i=0;i<3;i++) { printf("%d ",suma[i]); } printf("\n"); printf("每列的和为:"); for(i=0;i<3;i++) { printf("%d ",sumb[i]); } printf("\n"); printf("主次对角线的和:"); for (i=0;i<2;i++) { printf("%d ",num[i]); } return 0; }
实验总结:
1表格的形式输出运用循环输出数组的值与空格的添加来的得到一个类表格的输出。
2二维数组的行列求和就是确定某一行求一行中每一列的和 采用循环套循环的方式求出。
3求矩阵的对角线和为11 22 33的主对角线与13 22 31的次对角线 主对角线等同为i=j时的数组之和,次对角线为i+j=2时的数组和。
第十次实验
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。