要求有 姓名 学号 三门课成绩 (关于结构体的题。谁能用scanf+一个for循环就把所有的数据输入进去呢?)
[此贴子已经被作者于2007-5-17 11:07:40编辑过]
----------------解决方案--------------------------------------------------------
for(i=0;i<3;i++)
{
scanf("%s%s%d%d%d",s1,s3,&a,&b,&c);
如果还是不行就加一个
fflush(stdin)
}
----------------解决方案--------------------------------------------------------
void main()
{
struct pu \*结构名*\
{char name[8];\*姓名*\
char sex[2];\*性别*\
float a1;\*英语成绩*\
float a2;\*数学成绩*\
float a3;\*语文成绩*\
}s[3];\*定义数组形结构变量*\
}
[此贴子已经被作者于2007-5-17 12:23:30编辑过]
----------------解决方案--------------------------------------------------------
我也是初学者~我想问上二楼;你那还能清晰点么~我还是不会用你的!
----------------解决方案--------------------------------------------------------
fflush(stdin) 第一次看到这个函数!刚刚在网上查了下!就放这里吧!
fflush( ) 函数
刷新低级函数打开的文件内容,并将它写入磁盘。
语法
FFLUSH(nFileHandle)
参数
nFileHandle
指定输出到磁盘的刷新文件的句柄。
返回值类型
逻辑型
说明
fflush( ) 函数释放此文件缓冲区所占用的内存。
FLUSH 命令与 fflush( ) 函数不同。FLUSH 命令不对低级文件操作,而对表和索引进行操作.
原始连接:http://jsjzx.yzu.edu.cn/jsjzx/jyn/wtm/vfphelp/lngfflushlp_rp.htm
----------------解决方案--------------------------------------------------------
试试这个:
for(i=0;i<3;i++)
{
scanf("%s%c%d%d%d",s[i].name,s[i].sex,s[i].a1,s[i].a2,s[i].a3);
}
不行就加个 &:
for(i=0;i<3;i++)
{
scanf("%s%c%d%d%d",&s[i].name,&s[i].sex,&s[i].a1,&s[i].a2,&s[i].a3);
}
----------------解决方案--------------------------------------------------------
#define NUM 2
main()
{
int i,k;
struct student
{
char name[10];
char sex[2];
int english;
int math;
int chinese;
int pj;
};
struct student pu[NUM];
for(i=0;i<NUM;i++)
{ printf("\nthe %d student:\n",i+1);
printf("please inter name:");
scanf("%s",pu[i].name);
printf("please inter sex:");
scanf("%s",pu[i].sex);
printf("please inter english:");
scanf("%d",&pu[i].english);
printf("please inter math:");
scanf("%d",&pu[i].math);
printf("please inter chinese:");
scanf("%d",&pu[i].chinese);
pu[i].pj=(pu[i].english+pu[i].math+pu[i].chinese)/3;
}
for(i=0;i<NUM;i++)
for(i=0;i+1<NUM;i++)
{if(pu[i].pj>pu[i+1].pj) k=i; else k=i+1;}
printf("\n%s,%s,%5d,%5d,%5d,pj=%d\n",pu[k].name,pu[k].sex,pu[k].english,pu[k].math,pu[k].chinese,pu[k].pj);
}
----------------解决方案--------------------------------------------------------
for(i=0;i<3;i++)
{
scanf("%s %c %f %f %f",s[i].name,s[i].sex,&s[i].a1,&s[i].a2,&s[i].a3);
}
"%s %c %f %f %f" //中间有空格
----------------解决方案--------------------------------------------------------
7楼的不错,呵呵,向你学习啊
----------------解决方案--------------------------------------------------------
感谢大家关注,特别谢谢7楼--你是最棒的 (呵呵~~~~~~~~~
----------------解决方案--------------------------------------------------------