为什么要输入三组信息?
#include <stdio.h>
#define f "%d\n%s\n%f\n "
void main()
{
struct student
{int num;
char name[20];
float score;
}stu[2];
struct student *p;
int i;
float temp;
printf( "please input students 's information: ");
for(i=0;i <2;i++)
scanf(f,&stu[i].num,&stu[i].name,&stu[i].score);
float sum=0,aver;
p=stu;
for(i=0;i <2;i++)
{temp=(*(p+i)).score;
if(temp> =60)
printf(f,stu[i].num,stu[i].name,stu[i].score);
sum=sum+(*(p+i)).score;
}
aver=sum/2;
printf( "%f\n ",aver);
}
[解决办法]
#define f "%d\n%s\n%f\n " //去掉最后一个\n就可以了
[解决办法]
#define f "%d\n%s\n%f\n "
改为
#define f "%d %s %f "