用记事本建立一个数据文件data1.txt,内容为30位学生的成绩(即30个0~100之间的整数),各成绩用空格分隔。编程读取该文件各数据,统计90~100、80~89、70~79、60~69、60以下的人数以及各自所占百分比,结果写到文件data2.txt中。
提示:文件的读和写使用文件的格式输入输出函数fscanf() 和fprintf() 。
c语言编程问题(文件系统)
答案:2 悬赏:80 手机版
解决时间 2021-03-09 13:16
- 提问者网友:欺烟
- 2021-03-09 03:37
最佳答案
- 五星知识达人网友:平生事
- 2021-03-09 04:27
#include
int main(int argc,char *argv[]){
FILE *fpi,*fpo;
int i,k,f[5]={0};
char s[5][7]={"90~100"," 80~89"," 70~79"," 60~69"," <60"};
fpi=fopen("data1.txt","r");
fpo=fopen("data2.txt","w");
if(fpo==NULL || fpi==NULL){
printf("Open the file(s) failure...\n");
return 0;
}
while(fscanf(fpi,"%d",&k)==1){
if(k>=90 && k<=100)
f[0]++;
else if(k>=80 && k<=89)
f[1]++;
else if(k>=70 && k<=79)
f[2]++;
else if(k>=60 && k<=69)
f[3]++;
else if(k<60)
f[4]++;
}
fclose(fpi);
for(i=0;i<5;i++){
fprintf(fpo,"%.2f ",f[i]/30.0);
printf("%s:\t%.2f\n",s[i],f[i]/30.0);
}
fclose(fpo);
return 0;
}
int main(int argc,char *argv[]){
FILE *fpi,*fpo;
int i,k,f[5]={0};
char s[5][7]={"90~100"," 80~89"," 70~79"," 60~69"," <60"};
fpi=fopen("data1.txt","r");
fpo=fopen("data2.txt","w");
if(fpo==NULL || fpi==NULL){
printf("Open the file(s) failure...\n");
return 0;
}
while(fscanf(fpi,"%d",&k)==1){
if(k>=90 && k<=100)
f[0]++;
else if(k>=80 && k<=89)
f[1]++;
else if(k>=70 && k<=79)
f[2]++;
else if(k>=60 && k<=69)
f[3]++;
else if(k<60)
f[4]++;
}
fclose(fpi);
for(i=0;i<5;i++){
fprintf(fpo,"%.2f ",f[i]/30.0);
printf("%s:\t%.2f\n",s[i],f[i]/30.0);
}
fclose(fpo);
return 0;
}
全部回答
- 1楼网友:西岸风
- 2021-03-09 05:15
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
void main()
{
file *fp;
int i,j,len,a;
long int add=0;
char str[1000],str1[10];
if((fp=fopen("int.txt","rt"))==null)
{
printf("cannot open file\n");
return;
}
while (fgets(str,1000,fp)) //读取一行,并判断文件是否结束
{
len=strlen(str);
for(i=0;i0)
{
a=atoi(str1);
add+=a;}
j=0;
}
}
if(j>0)
{
str1[j]=0;
a=atoi(str1);
add+=a;
}
}
fclose(fp);
if((fp=fopen("int.txt","a+"))==null)
{
printf("cannot open file\n");
return;
}
fprintf(fp,"\n%ld",add);
fclose(fp);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯