小弟新学C,那位大神能帮我解释下这个C程序,跪求在线等
发布网友
发布时间:2023-12-30 10:38
我来回答
共4个回答
热心网友
时间:2024-02-29 07:58
#include<stdio.h>
#include<math.h>//添加头文件
main()
{
int score[10];//申请一个整型数组,大小为10,即放10个分数
int i;//变量i用来遍历数组
int max;//保存数组里面最大的数
int min;//保存数组里面最下的数
int m;
int n;
int best_score;//保存最好的分数
int worst_score;//保存最差的分数
float average;//保存平均值
int sum=0,left_sum;//求总和
float cha,smallest_cha,biggest_cha;
printf("Please input ten scores(0--100) :\n");
for(i=0;i<10;i++)
scanf("%d",&score[i]);//从键盘输入10个数,保存在score[]中
for(i=0;i<10;i++)
sum+=score[i];//计算10个数的总和
max=score[0];//设置max的初始值
min=score[0];//设置min的初始值
for(i=1;i<10;i++)
{
if(score[i]>=max)
max=score[i];//遍历所有的分数,当有比max大的就把这个分数赋给max
else if(score[i]<=min)
min=score[i];//遍历所有的分数,当有比min小的就把这个分数赋给min
}
left_sum=sum-max-min;//去掉最大值和最小值的总和赋给left_sum
average=(float)left_sum/8;//求平均值
printf("The max score is %d\n",max);//输出最大值
printf("The min score is %d\n",min);//输出最小值
printf("The average score is:");
printf("%f\n",average);//输出平均值
best_score=score[0];//给best_score赋初值
worst_score=score[0];//给worst_score赋初值
smallest_cha=score[0]-average;//求与平均值的差
biggest_cha=score[0]-average;
if(smallest_cha<=0)//如果差值小于0
{
smallest_cha=-smallest_cha;//把差值变成正数
biggest_cha=-biggest_cha;
}
for(i=1;i<10;i++)
{
cha=score[i]-average;
if(cha<=0)
cha=-cha;
if(cha<=smallest_cha)//求出与平均值之差最小的分数
{
best_score=score[i];
m=i+1;
smallest_cha=cha;
}
else if(cha>=biggest_cha)//求出与平均值之差最大的分数
{
worst_score=score[i];
n=i+1;
biggest_cha=cha;
}
}
printf("The best_score is %d,The best_judge is%d\n",best_score,m);//输出best_score
printf("The worst_score is %d,The worst_judge is%d\n",worst_score,n);//输出worst_score
return 0;
}
热心网友
时间:2024-02-29 07:58
#include<stdio.h>
#include<math.h>
main()
{
int score[10];
int i;
int max;
int min;
int m;
int n;
int best_score;
int worst_score;
float average;
int sum=0,left_sum;
float cha,smallest_cha,biggest_cha;
printf("Please input ten scores(0--100) :\n"); 提示请输入十个分数(0~100)
for(i=0;i<10;i++) 输入10个分数存放在数组score
scanf("%d",&score[i]);
for(i=0;i<10;i++) 求出10个分数的 总和
sum+=score[i];
max=score[0]; 假设最大值
min=score[0]; 假设最小值
for(i=1;i<10;i++) 求出10个分数中最大值和最小值
{
if(score[i]>=max)
max=score[i];
else if(score[i]<=min)
min=score[i];
}
left_sum=sum-max-min; 去掉一个最高分和一个最低分后的8个分数的总和average=(float)left_sum/8; 其余8个分数的平均值
printf("The max score is %d\n",max); 输出最大的分数值
printf("The min score is %d\n",min); 输出最小的分数值
printf("The average score is:"); 提示输出这个选手的平均分数值
printf("%f\n",average); 输出平均的分数值
我个人认为上面的程序已经满足你的设计要求。下面是另一个个评分标准,十个分数分别与上述平均数求差,来查找出给出最好分数是哪个人,给了多少分;
给出最不好分数的是哪个人,给了多少分
best_score=score[0]; 假设最好的分数
worst_score=score[0]; 假设最不好的分数
smallest_cha=score[0]-average;
biggest_cha=score[0]-average;
if(smallest_cha<=0)
{
smallest_cha=-smallest_cha;
biggest_cha=-biggest_cha;
}
for(i=1;i<10;i++)
{
cha=score[i]-average;
if(cha<=0)
cha=-cha;
if(cha<=smallest_cha)
{
best_score=score[i];
m=i+1;
smallest_cha=cha;
}
else if(cha>=biggest_cha)
{
worst_score=score[i];
n=i+1;
biggest_cha=cha;
}
}
printf("The best_score is %d,The best_judge is%d\n",best_score,m);
printf("The worst_score is %d,The worst_judge is%d\n",worst_score,n);
return 0;
}
热心网友
时间:2024-02-29 07:58
#include<stdio.h>
#include<math.h>
main()
{
int score[10];
int i;
int max;/*定义
int min;;/*定义
int m;;
int n;
int best_score;
int worst_score;
float average;/*最后的平均分
int sum=0,left_sum;
float cha,smallest_cha,biggest_cha;
printf("Please input ten scores(0--100) :\n");
for(i=0;i<10;i++)
scanf("%d",&score[i]);/*输入10个数
for(i=0;i<10;i++)
sum+=score[i];计算10数的总和max=score[0];/*将第1个数放入MAX中
min=score[0];/*将第1个数放入MIN中
for(i=1;i<10;i++)对第2个到第10个数循环
{
if(score[i]>=max)如果大于MAX,把数放入MAX中
max=score[i];
else if(score[i]<=min)如果小于Min,把数放入MIN中
min=score[i];
}
left_sum=sum-max-min;取掉最大最小值的总和
average=(float)left_sum/8;求其余8个分数的平均值
printf("The max score is %d\n",max);
printf("The min score is %d\n",min);
printf("The average score is:");
printf("%f\n",average); 到这里输出,你要求的就结束了
___________下面的东西我也不明白好像是去和平均分比向差最大和最小的数
并且取出他们在的位置..大概是这样
best_score=score[0];
worst_score=score[0];
smallest_cha=score[0]-average;
biggest_cha=score[0]-average;
if(smallest_cha<=0)
{
smallest_cha=-smallest_cha;
biggest_cha=-biggest_cha;
}
for(i=1;i<10;i++)
{
cha=score[i]-average;
if(cha<=0)
cha=-cha;
if(cha<=smallest_cha)
{
best_score=score[i];
m=i+1;
smallest_cha=cha;
}
else if(cha>=biggest_cha)
{
worst_score=score[i];
n=i+1;
biggest_cha=cha;
}
}
printf("The best_score is %d,The best_judge is%d\n",best_score,m);
printf("The worst_score is %d,The worst_judge is%d\n",worst_score,n);
return 0;
}
热心网友
时间:2024-02-29 07:59
你现在还在读书吗