1. (0分) 从文件中读、写学生信息。
题目描述
1.一条学生的记录包括学号、姓名和成绩等信息。
(1)格式化输入多个学生记录;
(2)利用fwrite将学生信息按二进制方式写到文件中;
(3)利用fread从文件中读出成绩并求平均值;
(4)对文件中按成绩排序,将成绩单写入文本文件中.
用户代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct student
{
int num;
char name[30];
float score;
}STU;
int main()
{
int i,j;
STU a[5]={{01,"张三",89},{02,"李四",56},{03,"王五",98},{04,"虎牙",56},{05,"合计数",45}},b[5],t;
float sum=0;
FILE *fp;
if((fp=fopen("F:\\text.dat","w+"))==NULL)
exit(0);
fwrite(a,sizeof(STU),5,fp);
fread(b,sizeof(STU),5,fp);
for(i=0;i<5;i++)
{
sum+=b[i].score;
printf("%10d%10s%10.2f\n",&b[i].num,&b[i].name,&b[i].score);
}
sum/=5;
printf("平均分为:%.2f",sum);
for(i=0;i<4;i++)
{
for(j=0;j<5-i;j++)
if(b[i].score<b[i+1].score)
{
t.num=b[i].num;
b[i].num=b[i+1].num;
b[i+1].num=t.num;
t.score=b[i].score;
b[i].score=b[i+1].score;
b[i+1].score=t.score;
strcpy(t.name,b[i].name);
strcpy(b[i].name,b[i+1].name);
strcpy(b[i+1].name,t.name);
}
}
if((fp=fopen("F:\\text.txt","w+"))==NULL)
exit(0);
fwrite(b,sizeof(STU),5,fp);
return 0;
}
2. (0分) 查找文件中某单词的个数
题目描述
编写函数实现单词的查找,对于已打开文本文件,统计其中包含某单词的个数。
用户代码
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
char a[10],b;
int i,n=0;
if((fp=fopen("txt.dat","r+"))==NULL)
exit(0);
while(!feof(fp))
{
b=fgetc(fp);
for(i=0;i<10;fseek(fp,sizeof(char),1))
{
if(b==a[i])
i++;
}
n++;
}
printf("%d",&n);
return 0;
}
3. (0分) 编写程序统计某文本文件中包含句子的个数。
题目描述
编写程序统计某文本文件中包含句子的个数。
用户代码
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
char a[10],b;
int i,n=0;
if((fp=fopen("txt.dat","r+"))==NULL)
exit(0);
while(!feof(fp))
{
b=fgetc(fp);
if(b=='\n')
n++;
fseek(fp,sizeof(char),1);
}
printf("%d",&n);
return 0;
}