做网站的策划方案/如何做好网上销售
题目要求输入的数据太多,改以2个学生,2门学科。符合题目则把预定义M 改为10,N改为5。
代码:
#include <stdio.h>
#define M 2
#define N 2
float ave1[N];
//第四问要用
int main(){float arr[M][N];void fun1(float arr[][N]);void fun2(float arr[][N]);void fun3(float arr[][N]);void fun4(float arr[][N]);for(int i=0;i<M;i++){printf("请输入第%d个同学的成绩:\n",i+1);for(int j=0;j<N;j++){printf("第%d门成绩为: ",j+1);scanf("%f",&arr[i][j]);if(arr[i][j]>100||arr[i][j]<0){printf("数据不合法,请重新输入!\n");printf("第%d门成绩为: ",j+1);scanf("%f",&arr[i][j]);}}printf("---------------------\n");}printf("\n");fun1(arr);fun2(arr);fun3(arr);fun4(arr);return 0;
}
//计算每个数学的平均分
void fun1(float arr[][N]){float sum[N]={0};int i,j;for(i=0;i<M;i++){for(int j=0;j<N;j++){sum[i]+=arr[i][j];}ave1[i]=sum[i]/N;printf("学生%d的平均成绩为:%0.2f\n",i+1,ave1[i]);}printf("\n");
}
//计算每门科目的平均分
void fun2(float arr[][N]){float sum[N]={0},ave2;int i,j;for(i=0;i<M;i++){for(j=0;j<N;j++){sum[i]+=arr[j][i];}ave2=sum[i]/N;printf("第%d门科目的平均成绩为:%0.2f\n",i+1,ave2);}printf("\n");
}
//找出所有分数中的最高的分数和所对应的学生的课程
void fun3(float arr[][N]){float max=arr[0][0];int i,j,m=0,n=0;for(i=0;i<M;i++){for(j=0;j<N;j++){if(max<arr[i][j]){max=arr[i][j];m=i;n=j;}}}printf("所有成绩中最高成绩为%0.2f\n",max);printf("这个成绩是第%d个学生的第%d门科目\n",m+1,n+1);printf("\n");
}
//计算平均分方差
void fun4(float arr[][N]){int i;float a=0,b=0,c,d,average;for(i=0;i<M;i++){a+=ave1[i]*ave1[i];b+=ave1[i];}c=a/N;d=(b/N)*(b/N);printf("c=%0.2f,d=%0.2f\n",c,d);average=c-d;printf("平均分方差为%0.6f",average);
}
运行结果: