各位大哥大姐,,帮帮忙,我这程序错哪了??
#include "stdio.h"#include "string.h"
struct leader
{
char name[5];
float count;
}stu[3]={{"Li",0},{"Liu",0},{"Xiao",0}};
main()
{
int i,j;
char Leader_name[10];
for(i=0;i<3;i++)
{
scanf("%s",Leader_name);
for(j=0;j<3;j++)
{
if(strcmp(Leader_name,stu[j].name)==0)
stu[j].count++;
}
}
for(i=0;i<3;i++)
{
printf("%s:%d\n",stu[i].name,stu[i].count);
}
}
[ 本帖最后由 刘燕媚prince 于 2013-10-27 10:42 编辑 ]








没记错的话这个是书上的一道例题,错误的地方就是你在结构体中把Count变量设为float型,但是你输出的时候用的是%d输出的,所以你就杯具了。有两种改法,第一种是把输出改成 printf("%s:%.f\n",stu[i].name,stu[i].count);也就是我上面的改法。第二种方法就是把结构体里面的Count的数据类型改为整形的,即int
可是,,大哥,我编译了还是不行啊,呜呜。。。

程序代码: