一个班有10个同学,通过键盘输入成绩, 并打印输出,每行输出5个同学的成绩。并求出平均成绩,最高分、最低分并输出。算法分析: (1)定义一个数组用来存放10个成绩数据。 (2)用循环结构实现成绩输入; (3)用循环结构实现成绩输出,并控制换行; (4)使用循环结构求平均成绩、最高分、最低分并输出。
#include<stdio.h>
int main(){
int x,i,max=0,min=0;
double sum=0,ave=0;
int a[10];
for(i=0;i<10;i++){
scanf("%d",&a[i]);
sum+=a[i];
if(max<a[i])
max=a[i];
if(min>a[i])
min=a[i];
}
ave=sum/10;
for(i=0;i<5;i++)
printf("%d ",a[i]);
printf("\n");
for(i=5;i<10;i++)
printf("%d ",a[i]);
printf("平均成绩%f,最高分%d,最低分%d ",ave,max,min);
}
这个主要考查c语言基本功,接下来回答给你上代码
#include<stdio.h>
int main() {
double scores[10]; // 成绩可能有小数,这个看题目要求
int i;
double avg,max,min,sum = 0;
// 输入10个成绩
for(i=0; i<10; i++) {
scanf("%lf ",&scores[i]);
}
// 输出10个成绩
for(i=0; i<10; i++) {
printf("%lf",scores[i]);
}
max = scores[0];
min = scores[0];
for(i=0; i<10; i++) {
if(scores[i] > max) {
max = scores[i];
}
if(scores[i] < min) {
min = scores[i];
}
sum += scores[i];
}
avg = sum / 10.0;
// 最后输出结果
printf("avg=%lf,max=%lf,min=%lf",avg,max,min);
}
#include<stdio.h>
int main() {
double scores[10]; // 成绩可能有小数,这个看题目要求
int i;
double avg,max,min,sum = 0;
// 输入10个成绩
for(i=0; i<10; i++) {
scanf("%lf ",&scores[i]);
}
// 输出10个成绩
for(i=0; i<10; i++) {
printf("%lf",scores[i]);
}
max = scores[0];
min = scores[0];
for(i=0; i<10; i++) {
if(scores[i] > max) {
max = scores[i];
}
if(scores[i] < min) {
min = scores[i];
}
sum += scores[i];
}
avg = sum / 10.0;
// 最后输出结果
printf("avg=%lf,max=%lf,min=%lf",avg,max,min);
}
你可以先理解一下数组的定义,只需要定义出一个数组,先不存放数据,再利用一个十次的循环,每个循环里输入一个数,并且装入数组中,再打印,最后用数组里的所有值求平均数那些,直接给代码你复制了没有任何作用,后面的知识会更难,根据我的伪代码你尝试实现一下,加油!
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632