c语言文件的读写
某专业学生成绩信息存储在D盘根目录下,文件名为info.txt,规定学生人数不超过1000,如果学生单科成绩小于60,或总分小于210,则为考试没通过。下面有一个示例。文件示例:D盘下面文件 info.txt
zhangsan 88 90 67
lisi 90 55 77
wangwu 66 61 75
zhaoliu 77 66 69
运行结果:
name:zhangsan math:88 computer:90 english:67
name:lisi math:90 computer:55 english:77
name:wangwu math:66 computer:61 english:75
name:zhaoliu math:77 computer:66 english:69
以下学生没通过考试:
lisi
wangwu
没通过考试人数:2
求助这个题怎么做呢? 这是来找答案的么? 热气球 发表于 2020-6-22 11:45
这是来找答案的么?
写了一上午没写出来 高子越 发表于 2020-6-22 14:33
写了一上午没写出来
你写了点。有问题贴出来就好。。。。可能有时间会给你改吧改吧 热气球 发表于 2020-6-23 09:23
你写了点。有问题贴出来就好。。。。可能有时间会给你改吧改吧
经过我的不懈努力,终于还是写出来了#include <stdlib.h>
#include <stdio.h>
typedef struct student
{
char name;
int ma;
int com;
int en;
int score;
} stu;
int i=0,j,n=0;
stu str;
int main(void)
{
FILE *fp=fopen("D:/info.txt","r");
printf("所有学生信息如下:\n");
while(fscanf(fp,"%s",str.name)!=EOF){
fscanf(fp,"%d%d%d",&str.ma,&str.com,&str.en);
printf("name:%s\t math:%d computer:%d english:%d\n",str.name,str.ma,str.com,str.en);
i++;
}
printf("以下同学没通过考试\n");
for(j=0;j<i;j++){
str.score=str.ma+str.com+str.en;
if(str.score<210 || str.ma<60 || str.com<60 || str.en<60)
{
printf("%s\n",str.name);
n=n+1;
}
}
printf("没有通过考试的人数:%d\n",n);
fclose(fp);
return 0;
}
高子越 发表于 2020-6-24 10:47
经过我的不懈努力,终于还是写出来了
对吧,赞一个{:5_106:}{:5_106:}{:5_106:}{:5_106:}{:5_106:} 热气球 发表于 2020-6-24 14:20
对吧,赞一个
{:5_109:}{:5_109:}谢谢{:5_109:}谢谢 666
页:
[1]