struct student { int num; char name[20]; int age; char sex[3]; char tel[15]; char department[30]; float score; };
我只想问题目的意思是这个吗?宝宝觉得这样写就可以呢!
#include <stdio.h> #include <stdlib.h> struct student { int num; char name[20]; int age; char sex[3]; float score; }stuinfo[3]; void loadandsave() { int i; FILE *fp1,*fp2; fp1=fopen("input.txt","r"); if(fp1==NULL) { printf("文件input.txt打开失败! "); return; } fp2=fopen("output.txt","w"); if(fp2==NULL) { printf("文件output.txt创建失败! "); return; } printf("从input.txt中导入3位同学的信息 "); for(i=0;i<3;i++) { fscanf(fp1,"%d %s %d %s %f ",&stuinfo[i].num,stuinfo[i].name,&stuinfo[i].age,stuinfo[i].sex,&stuinfo[i].score); fprintf(fp2,"第%d位同学:学号%d,姓名%s,年龄%d,性别%s,成绩%.1f ",i+1,stuinfo[i].num,stuinfo[i].name,stuinfo[i].age,stuinfo[i].sex,stuinfo[i].score); } printf("导入3位同学的信息成功保存到output.txt "); fclose(fp1); fclose(fp2); } int main() { loadandsave(); return 0; }
等会下面有input.txt
1 张三 18 男 90.0
2 李四 17 女 80.0
3 王五 19 男 60.0
我发现我不会上传啊!!!!
#include <stdio.h> #include <stdlib.h> struct student { int num; char name[20]; int age; }stuinfo[3]; void input() { int i; FILE *fp; fp=fopen("student.txt","w"); if(fp==NULL) { printf("文件student.txt创建失败! "); return; } printf("依次输入3位同学的信息 "); for(i=0;i<3;i++) { printf("输入第%d位同学的学号:",i+1); scanf("%d",&stuinfo[i].num); printf("输入第%d位同学的姓名:",i+1); scanf("%s",stuinfo[i].name); printf("输入第%d位同学的年龄:",i+1); scanf("%d",&stuinfo[i].age); fprintf(fp,"第%d位同学:学号%d,姓名%s,年龄%d ",i+1,stuinfo[i].num,stuinfo[i].name,stuinfo[i].age); } fclose(fp); } int main() { input(); }
还是这个好理解,书上看了半天,还不如自己瞎写。