这是基本代码,题主可以参考下
#include <stdio.h>
int main()
{
int i;
float score[5],all = 0,avg = 0;
printf("请输入这五位学生的成绩:\n");
for(i = 0; i < 5; i++)
scanf("%f",&score[i]);
float max=score[0],min=score[0];
for(i = 0; i < 5; i++)
{
all += score[i];
if(score[i]>max)
max = score[i];
if(score[i]<min)
min = score[i];
}
avg=all/5;
printf("总成绩:%g\n平均成绩:%3.2f\n最大值:%g\n最小值:%g\n",all,avg,max,min)
return 0;
}
https://blog.csdn.net/weixin_45391986/article/details/105919562,这个对你一定有帮助,很多这样的案例
符合要求,直接用
#include <stdio.h>
typedef struct _student
{
int nID;
float fYW;
float fSX;
float fWY;
float avg;
}student;
int main()
{
student stu[100];
int i, n, m = 0;
float sum = 0;
printf("请输入学生人数:");
scanf_s("%d", &n);
printf("\n");
for (i = 0; i < n; i++)
{
printf("请输入第%d个学生成绩(学号,语文,数学,英语):", i + 1);
scanf_s("%d,%f,%f,%f", &stu[i].nID, &stu[i].fYW, stu[i].fSX, stu[i].fWY);
stu[i].avg = (stu[i].fYW + stu[i].fSX + stu[i].fWY) / 3;
}
float maxYW = stu[0].fYW;
float minYW = stu[0].fYW;
float maxSX = stu[0].fSX;
float minSX = stu[0].fSX;
float maxWY = stu[0].fWY;
float minWY = stu[0].fWY;
for (i = 1; i < n; i++)
{
if (maxYW < stu[i].fYW)
maxYW = stu[i].fYW;
if (maxWY < stu[i].fWY)
maxWY = stu[i].fWY;
if (maxSX < stu[i].fSX)
maxSX = stu[i].fSX;
if (minYW > stu[i].fYW)
minYW = stu[i].fYW;
if (minWY > stu[i].fWY)
minWY = stu[i].fWY;
if (minSX > stu[i].fSX)
minSX = stu[i].fSX;
}
for (i = 0; i < n - 1; i++)
{
for (int j = 1; i < n; j++)
{
if (stu[j - 1].avg < stu[j].avg)
{
student s = stu[j - 1];
stu[j - 1] = stu[j];
stu[j] = s;
}
}
}
printf("学号\t数学\t语文\t外语\t平均分\n");
for (i = 0; i < n; i++)
{
printf("%d\t%.1f\t%.1f\t%.1f\t%.1f\n", stu[i].nID, stu[i].fSX, stu[i].fYW, stu[i].fWY, stu[i].avg);
}
printf("最高分\t%.1f\t%.1f\t%.1f\n", maxSX, maxYW, maxWY);
printf("最低分\t%.1f\t%.1f\t%.1f\n", minSX, minYW, minWY);
}
您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~
ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓
【电脑端】戳>>> https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】 戳>>> https://mall.csdn.net/item/52471?utm_source=1146287632