啥也不说了,要上吊了!万恶的scanf!全部家当都给了!
#include<stdio.h>#include<stdlib.h>typedef struct{ float chi; float math; float eng; float phy; float chem; }score_; typedef struct{ int num; char name[20]; char sex; int age; score_ score;}student;void main(){ student stu[10]; student *stu_=stu; FILE *fp; int i; printf("请输入%d位同学的信息\n",3); for (i=0;i<3;i++,stu_++) { scanf("%d",&stu_->num); scanf("%s",stu_->name); scanf(" %c",&stu_->sex); scanf("%d",&stu_->age); scanf("%d %d %d %d %d",&stu_->score.chi,&stu_->score.math,&stu_->score.eng,&stu_->score.phy,&stu_->score.chem); } for (i=0;i<3;i++) { printf("%d,%d,%d,%d,%d\n",stu[i].score.chi,stu[i].score.math,stu[i].score.eng,stu[i].score.phy,stu[i].score.chem); } #include<stdio.h>#include<stdlib.h>typedef struct{ float chi; float math; float eng; float phy; float chem; }score_; typedef struct{ int num; char name[20]; char sex; int age; score_ score;}student;void main(){ student stu[10]; int i; printf("请输入%d位同学的信息\n",3); for (i=0;i<3;i++) { scanf("%d ",&stu[i].num); /*增加空格,因为你的输入方式是用空格来隔开各个字段的*/ scanf("%s ",stu[i].name); scanf("%c ",&stu[i].sex); scanf("%d ",&stu[i].age); /*%d要改成%f*/ scanf("%f %f %f %f %f", &stu[i].score.chi, &stu[i].score.math, &stu[i].score.eng, &stu[i].score.phy, &stu[i].score.chem); } for (i=0;i<3;i++) { /*%d要改成%f*/ printf("%f,%f,%f,%f,%f\n",stu[i].score.chi,stu[i].score.math,stu[i].score.eng,stu[i].score.phy,stu[i].score.chem); }}
[解决办法]