1105 [填空]文本文件操作_字符读入
(我电脑运行不显示诶)在当前目录中存在文件名为"case1.in"的文本文件,现要求你使用fopen函数命令打开该文件,读出里面的所有字符, 遇到大写字母的,将其变为小写字母,其它字符不变,最后将所有字符按顺序在屏幕上输出。请填空完成程序, (注意,填空题,请不要使用return 0结束,否则会影响评判而判错)
(如case1.in内容如下) Hello my Dear: Have a GooD Time! (在屏幕上输出结果如下) hello my dear: have a good time! (提示,在提交前要测试自己的代码是否正确,可在源文件所有目录自己创建一个名为case1.in的文本文件,在文件中自己打入一些字母,以便测试自己的代码是否正确)
#include "stdio.h"
main()
{
FILE *fp;
char ch;
if((fp=fopen("case1.in","r"))==NULL)//if((_______________________)==NULL)
return 0;
while((ch=fgetc(fp))!=EOF)// while(_______________________)
{
if ('A'<=ch && ch<='Z')
ch = ch + 32;
putchar(ch);//_______________________;
}
fclose(fp);
}
1106 文本文件操作_字符写入
由键盘输入任意个字符(以连着的三个小写字符bye做为结束标志),将所有字符(包括bye),写入新建的文件answer.txt中(注:文件放在当前目录)。 请完成该功能,(注意,填空题,请不要使用return 0结束及exit()函数,否则会影响评判而判错)
(如键盘输入内容如下) Yes, you can.bye No, you can't. (程序执行后,在文件answer.txt中内容如下) Yes, you can.bye (注:因No, you can't.在bye之后,所以不输出)
char ch,ch1,ch2,ch3;
FILE *fp;
//char ch, ch1=' ', ch2=' ', ch3=' ';
//if((fp=fopen("answer.txt", "w"))==NULL)
// return 1; 标程区别
fp=fopen("answer.txt","w");
while((ch=getchar())!=EOF)
{
fputc(ch,fp);
ch1=ch2;ch2=ch3;ch3=ch;//ch1<-ch2<-ch3<-ch字符传递过去
if(ch1=='b'&&ch2=='y'&&ch3=='e')
break;
}
fclose(fp);
11129 文本文件操作_读取与选择显示
在当前目录中存在文件名为"case1.in"的文本文件,现要求打开该文件,读出里面的所有字符,只将其中的数字字符按先后顺序显示在屏幕上。 (如case1.in内容如下) 13 cats and 22 bikes (在屏幕上输出结果如下) 1322
#include "stdio.h"
main()
{
FILE *fp;
char ch;
if((fp=fopen("case1.in","r"))==NULL)// if((_______________________)==NULL)
return 0;
while((ch=fgetc(fp))!=EOF)// while(_______________________)
{
if('0'<=ch&&ch<='9')//_______________________
putchar(ch); //
}
fclose(fp);
}
1107 文本文件操作_单词的排序
在当前目录有文件“case1.in”,文件里存放有多个(总个数不超过10000个)英文单词(每个英文单词不会超过10个字文字符), 每行一个,单词未排序。现要求,将文件中的所有单词按字典顺序排序,然后将排序好的单词写入新建的文件answer.txt中(注:文件存放于当前目录)。 请完成程序,实现该功能,(注意,填空题,请不要使用return 0结束,否则会影响评判而判错)
(如case1.in文件中原内容如下) hello bye yes (程序执行后,在文件answer.txt中内容如下) bye hello yes
#include "stdio.h"
#include "string.h"
main()
{
char ch[10000][11],a[11];
FILE *fp,*fp1;
int i,j,n=0;
if((fp=fopen("case1.in","r"))==NULL)
return 0;
if((fp1=fopen("answer.txt","w"))==NULL)
return 0;
//fscanf 函数功能为根据数据格式(format),从输入流(stream)中读入数据,存储到argument中,
//遇到空格和换行时结束。fscanf位于C标准库头文件<stdio.h>中。
//int fscanf(文件指针,格式字符串,输入列表);
while((fscanf(fp, "%s", ch[n]))>0) n++;
for(i=0; i<n-1; i++)
{
for(j=0; j<n-i-1; j++)
{
if(strcmp(ch[j],ch[j+1])>0)
{
strcpy(a,ch[j]);
strcpy(ch[j],ch[j+1]);
strcpy(ch[j+1],a);
}
}
}
for(i=0;i<n;i++)
//fprintf是C/C++中的一个格式化库函数,位于头文件<cstdio>,其作用是格式化输出到一个流文件中
//根据指定的格式(format),向输出流(stream)写入数据(argument)。
fprintf(fp1,"%s\n",ch[i]);
fclose(fp);
fclose(fp1);
}