the___sunshine 2021-05-23 12:34 采纳率: 100%
浏览 37
已采纳

问一下为什么不能输出?

#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);
}
  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2021-05-23 12:49
    关注

    scanf中,b是char,应该用%c

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?