1.任务和代码
(1)
/*
copyright\c)2017,csdn学院
*All cights reserved
*文件名称:a.c
*作者:王琦
*完成日期:2017年5月6日
*版本号:6.0
*问题描述:统计一个文本文件中数字、空格、字母出现的次数,以及文件的字节数,并将结果输出,文本文件名在程序中输入
*程序输出:文本文件中数字、空格、字母出现的次数
*/
#include <stdio.h>
#include<stdlib.h>
int main( )
{
int score;
int excelent=0, fail=0,count=0;
double sum=0,ave;
FILE *fp;
fp=fopen("english .dat","r");
if(fp==NULL)
{
printf("open error!\n");
exit(1);
}
while(fscanf(fp,"%d",&score)!=EOF)
{
count++;
sum+=score;
if(score>=90)
excelent++;
else if(score<60)
fail++;
}
fclose(fp);
ave=sum/count;
printf("总人数为:%d\n", count);
printf("平均成绩为:%.2f\n", ave);
printf("优秀人数:%d\n", excelent);
printf("不及格人数:%d\n", fail);
}
(2)
/*
copyright\c)2017,csdn学院
*All cights reserved
*文件名称:a.c
*作者:王琦
*完成日期:2017年5月6日
*版本号:6.0
*问题描述:统计一个文本文件中数字、空格、字母出现的次数,以及文件的字节数,并将结果输出,文本文件名在程序中输入
*程序输出:文本文件中数字、空格、字母出现的次数
*/
#include <stdio.h>
#include<stdlib.h>
int main( )
{
int score;
int excelent=0, fail=0,count=0;
double sum=0,ave;
FILE *fp;
fp=fopen("english .dat","r");
if(fp==NULL)
{
printf("open error!\n");
exit(1);
}
while(fscanf(fp,"%d",&score)!=EOF)
{
count++;
sum+=score;
if(score>=90)
excelent++;
else if(score<60)
fail++;
}
fclose(fp);
ave=sum/count;
printf("总人数为:%d\n", count);
printf("平均成绩为:%.2f\n", ave);
printf("优秀人数:%d\n", excelent);
printf("不及格人数:%d\n", fail);
fp=fopen("statictic.dat","w");
fprintf(fp, "总人数为:%d\n", count);
fprintf(fp, "平均成绩为:%.2f\n", ave);
fprintf(fp, "优秀人数:%d\n", excelent);
fprintf(fp, "不及格人数:%d\n", fail);
}
(3)
/*
copyright\c)2017,csdn学院
*All cights reserved
*文件名称:a.c
*作者:王琦
*完成日期:2017年5月6日
*版本号:6.0
*问题描述:统计一个文本文件中数字、空格、字母出现的次数,以及文件的字节数,并将结果输出,文本文件名在程序中输入
*程序输出:文本文件中数字、空格、字母出现的次数
*/
#include <stdio.h>
#include<stdlib.h>
int main( )
{
int score;
int excelent=0, fail=0,count=0,medium=0,passing=0,good=0,i,l,max;
double sum=0,ave;
FILE *fp;
fp=fopen("english .dat","r");
if(fp==NULL)
{
printf("open error!\n");
exit(1);
}
while(fscanf(fp,"%d",&score)!=EOF)
{
count++;
sum+=score;
if(score>=90)
excelent++;
else if(score>=80)
good++;
else if(score>=70)
medium++;
else if(score>=60)
passing++;
else
fail++;
}
fclose(fp);
ave=sum/count;
printf("平均成绩为:%.2f\n", ave);
max=excelent;
if(max<good) max=good;
if(max<medium) max=medium;
if(max<passing) max=passing;
if(max<fail) max=fail;
printf("优秀 ");
l=((double)excelent)/max*50;
for(i=0; i<l; ++i)
printf("#");
printf(" %d\n", excelent);
printf("良好 ");
l=((double)good)/max*50;
for(i=0; i<l; ++i)
printf("#");
printf(" %d\n", good);
printf("中等 ");
l=((double)medium)/max*50;
for(i=0; i<l; ++i)
printf("#");
printf(" %d\n", medium);
printf("及格 ");
l=((double)passing)/max*50;
for(i=0; i<l; ++i)
printf("#");
printf(" %d\n", passing);
printf("挂科 ");
l=((double)fail)/max*50;
for(i=0; i<l; ++i)
printf("#");
printf(" %d\n", fail);
}
2.运行结果
(1)
(2)
(3)
3.知识点总结
(1)先建立文件,然后对文件中的数据进行处理
(2)运用fprintf将处理的数据写入另一个文件夹
(3)运用循环和嵌套对数据进行处理
4.心得体会
在不断地练习中逐渐掌握学到的东西