第1关:HelloWorld
任务描述
题目描述:向文件in.txt
中写入字符串HelloWorld
。
根据提示,在右侧编辑器Begin-End
处补充代码,完成本关要求。
代码展示
#include<stdio.h>
#include<stdlib.h>
void solve(){
/********** Begin *********/
FILE *fp;
if((fp=fopen("in.txt","w"))==NULL)
{
printf("cann't open file");
exit(0);
}
fputs("HelloWorld",fp);
fclose(fp);
return 0;
/********** End **********/
}
运行结果
第2关:文件读取和写入
任务描述
题目描述:从文件a.txt
中读取三个整数,然后把这三个整数保存到b.txt
中,两整数之间一个空格。
编程要求
根据提示,在右侧编辑器Begin-End
处补充代码,完成本关要求。
格式如下:
100 110 100
####测试说明
代码展示
#include<stdio.h>
#include<stdlib.h>
void solve(){
/********** Begin *********/
FILE *p1;
FILE *p2;
int a,b,c;
if((p1=fopen("a.txt","r"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
if((p2=fopen("b.txt", "w"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
fscanf(p1,"%d%d%d",&a,&b,&c);
fprintf(p2,"%d %d %d",a,b,c);
fclose(p1);
fclose(p2);
/********** End **********/
}
运行结果
第3关:统计文本字母数量
任务描述
题目描述:读取a.txt
中文本,统计文本中字母数量。
编程要求
根据提示,在右侧编辑器Begin-End
处补充代码,完成本关要求。
测试说明
输入
读取a.txt
读入文本 如: abc abc
输出
输出文本中字母数量
样例输入
abc abc
样例输出
6
代码展示
#include<stdio.h>
void solve(){
/********** Begin *********/
int n,k;
char a[100];
k=0;
FILE*fp;
fp=fopen("a.txt","r");
for(n=0;n<100;n++){
if(feof(fp)){
break;
}
fscanf(fp,"%c",&a[n]);
if(a[n]=='\0'){
break;
}
if(a[n]>='A'&&a[n]<='Z'||a[n]>='a'&&a[n]<='z'){
k++;
}
}
printf("%d",k);
fclose(fp);
/********** End **********/
}
运行结果
第4关:读取文件中指定学生信息
任务描述
题目描述:实现从文本中读取出指定学号的学生信息并显示,文本文件存放格式是每一行对应一个学生信息,最后一行没有换行符。
编程要求
根据提示,在右侧编辑器Begin-End
处补充代码,完成本关要求。
测试说明
输入
solve(char s[])
已经给一个字符串s
,代表学生学号。
文件a.txt
存放所有学生信息。
输出
输出该学号学生信息
如果不存在则输出Not Found!
#####样例输入
11405200102
a.txt
中内容为:
11405200101 zhangsan 70 80 90 240 80
11405200102 lisi 80 60 70 210 70
#####样例输出
11405200102 lisi 80 60 70 210 70
代码展示
#include<stdio.h>
#include<string.h>
void solve(char s[]){
/********** Begin *********/
FILE*fq=fopen("a.txt","r");
int n;
char line[20],a[100];
for(n=0;n<9;n++){
fgets(line,12,fq);
fgets(a,100,fq);
if(strcmp(s,line)==0){
printf("%s%s",line,a);
break;
}
if(n==8){
printf("Not Found!");
}
}
/********** End **********/
}
运行结果