1.有5名学生,每名学生有语文、数学和外语3门课的考试成绩。编程统计各学生的总分和平均分以及所有学生各科的平均分。要求成绩在程序中初始化,结果以表格的形式输出。
#include<stdio.h> int main() { int i,j,f=0,m,n; double sum,ave,a[6][5]={60,99,70,0,0,67,89,90,0,0,78,70,89,0,0,98,74,87,0,0,56,94,46}; for(i=0;i<5;i++) { sum=0; for(j=0;j<3;j++) { sum=sum+a[i][j]; a[i][3]=sum; ave=0; ave=(double)sum/3; a[i][4]=ave; } } printf(" ó??? êy?§ ó¢ó? ×ü·? ???ù·?"); printf("\n"); for(m=0;m<5;m++) { for(n=0;n<5;n++) { printf(" "); printf("%.2f ",a[m][n]); f++; } if(n==5) { printf("\n"); } } for(i=0;i<5;i++) { sum=0; for(j=0;j<5;j++) { sum=sum+a[j][i]; ave=0; ave=(double)sum/5; a[i][6]=ave; } } printf("???ù·?"); for(i=0;i<5;i++) { printf("%.2f ",a[i][6]); } printf("\n"); return 0; }
2.求任意方阵每行、每列、两对角线上元素之和。
#include<stdio.h> #define N 5 int main() { int i,j,n=1,sum,a[N][N]={0}; for(i=0;i<N;i++) for(j=0;j<N;j++) { a[i][j]=n; n++; printf("%3d",a[i][j]); } printf("\n"); for(j=0;j<N;j++) { sum=0; for(i=0;i<N;i++) { sum=sum+a[j][i]; } printf("μú%dDDμ?oí?a%d\n",j+1,sum); } for(i=0;i<N;i++) { sum=0; for(j=0;j<N;j++) { sum=sum+a[j][i]; } printf("μú%dáDμ?oí?a%d\n",i+1,sum); } sum=0; for(i=0;i<N;i++) { sum+=a[i][i]; } printf("??????(×óé?μ?óò??)??oí?a%d\n",sum); sum=0; for(i=0;i<N;i++) { sum+=a[4-i][i]; } printf("??????£¨×ó??μ?óòé?£???oí?a%d\n",sum); return 0; }
实验总结:
1、赋初值时注意放在循环里面还是外面
2、不要重复定义变量
时间: 2024-10-10 08:49:12