#include <stdio.h>
#include<math.h>
struct h
{long int a;
char b;
double c;
double d;
double e;
double f;
int g;
}k[2];
main()
{int x,y;
struct h ;
for(x=0;x<2;x++)
{scanf("%ld %s %f %f %f",&k[x].a,&k[x].b,&k[x].c,&k[x].d,&k[x].e);
k[x].f=(k[x].c+k[x].d+k[x].e)/3.0,k[x].g=3;}
for(x=0;x<2;x++)
for(y=0;y<2;y++)
if(k[x].f>k[y].f)
k[x].g--;
printf("Number: Name: score: Average: rank:\n");
for(x=0;x<2;x++)
printf("%-9ld%-10s%-5.1f%-5.1f%-8.1f%-10.1f%-d\n",k[x].a,k[x].b,k[x].c,k[x].d,k[x].e,k[x].f,k[x].g);
}
scanf中,b是char,应该用%c
{scanf("%ld %s %f %f %f",&k[x].a,&k[x].b,&k[x].c,&k[x].d,&k[x].e); %s改成%c,此外确保你程序分号等符号都是英文状态
输出的时候也需要改%c
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632