#include<stdio.h> struct Student { int age; char name[100]; float score[5]; }; int main(void) { struct Student stu1; int i; float ave,sum; stu1.age=18 strcpy(stu1.name,"zhangsan"); for(i=0;i<5;i++) scanf("%f",&stu.score[i]); for(i=0;i<5;i++) { sum=sum+stu1.score; } printf("",stu1.score); } 续写一下最低分,最高分。
时间: 2024-04-03 09:33:29 浏览: 65
可以在输入分数的同时,记录最低分和最高分,然后输出即可。
代码如下:
#include<stdio.h>
#include<string.h>
struct Student {
int age;
char name[100];
float score[5];
};
int main(void)
{
struct Student stu1;
int i;
float ave,sum, min, max;
stu1.age=18;
strcpy(stu1.name,"zhangsan");
// 输入分数同时记录最低分和最高分
scanf("%f",&stu1.score[0]);
min = stu1.score[0];
max = stu1.score[0];
sum = stu1.score[0];
for(i=1;i<5;i++)
{
scanf("%f",&stu1.score[i]);
if(stu1.score[i] < min) {
min = stu1.score[i];
}
if(stu1.score[i] > max) {
max = stu1.score[i];
}
sum += stu1.score[i];
}
// 计算平均分
ave = sum / 5;
// 输出结果,包括最低分、最高分和平均分
printf("Name: %s\nAge: %d\n", stu1.name, stu1.age);
printf("Scores: ");
for(i=0;i<5;i++) {
printf("%.1f ", stu1.score[i]);
}
printf("\n");
printf("Minimum score: %.1f\n", min);
printf("Maximum score: %.1f\n", max);
printf("Average score: %.1f\n", ave);
return 0;
}
注意,此处代码有个小错误,输入分数时循环中的变量写成了stu,应该是stu1。已经进行了修改。
阅读全文