//我用随机数来初始化数组。有什么问题可以继续问我
#include
#include
#include
void init(double score[][4])
{
int i,j;
srand((unsigned)time(NULL));//用使用rand()生成随机数的话得写上这个
for(i=0;i<30;i++)
for(j=0;j<3;j++)
score[i][j]=(double)(rand()%100); //随机产生0~100之间的整数
printf("初始化成功~\n\n");
}
void counter(double score[][4])
{
int i,j;
for(i=0;i<30;i++)
score[i][3]=score[i][0]+score[i][1]+score[i][2];
for(i=0;i<4;i++)
{
score[30][i]=0;
for(j=0;j<30;j++)
score[30][i]+=score[j][i];
score[30][i]=score[30][i]/30;
}
printf("计算完成~\n\n");
}
void max(double score[][4])
{
int i;
double max1;
max1=score[0][3];
for(i=1;i<30;i++)
if(max1
printf("最高成绩为 %.2lf\n",max1);
}
void print(double score[][4])
{
int i,j;
for(i=0;i<31;i++)
{
for(j=0;j<4;j++)
printf("%.2lf\t",score[i][j]);
printf("\n");
}
}
int main()
{
double score[31][4];
int n,flag=0;
while(1)
{
printf("请选择一个功能:\n");
printf("1、初始化数组 2、计算平均分与总成绩 3、输出最高成绩 4、输出数组 0、退出\n");
scanf("%d",&n);
switch(n)
{
case 1:init(score);flag=0;break;
case 2:counter(score);flag=1;break;
case 3:
if(flag==1)max(score);
else printf("先选择计算平均分与总成绩\n");
break;
case 4:
if(flag==1) print(score);
else printf("先选择计算平均分与总成绩\n");
break;
case 0:exit(0);
default:printf("错误选项,请重新输入!\n");
}
}
return 0;
}