2.strcat函数用来连接两个字符串,如: char s1[20]=\
则strcat(s1,s2); 可以将s2中的字符串连接到s1字符串的后面。此时s1中的字符串变为\。请自行编写函数mystrcat,完成上述功能。
#include
void mystrcat(char *p,char *q) {
while (*p) p++; while (*q)
*p++=*q++; *p='\\0'; }
void main() {
char s1[20],s2[20]; char *p=s1,*q=s2; gets(s1); gets(s2);
mystrcat(p,q);
printf(\ }
2. 有5个候选人参与选举,共100张选票,每张选票上只能推选一个人。编程统计每个候选人的得票数,并输出结果。
#include
char * name[5]={\ char note[10]; int j;
int count1=0,count2=0,count3=0,count4=0,count5=0; for(j=0;j<10;j++) { scanf(\
if(!strcmp(name[0],note) ) count1++; if(!strcmp(name[1],note) ) count2++; if(!strcmp(name[2],note) ) count3++; if(!strcmp(name[3],note) ) count4++; if(!strcmp(name[4],note) ) count5++; }
printf(\
printf(\}
3. 统计一段英文短文中出现的单词的个数。单词间以空格分隔,可以有多个空格。
#include
int count=0,flag=0; gets(a);
if(*p==' ') flag=1; while (*p !='\\0') {
if(*p==' ' && *(p+1)!=' '&&*(p+1)!='\\0') count++; p++; }
if(flag==1) printf(\ else printf(\}
4. 对一组整数降序排序。要求排序功能由调用函数实现。
#include
void sort(int a[],int n); int a[10],i; int *p=a;
for(i=0;i<=9;i++) scanf(\sort(p,10);
printf(\ for(i=0;i<10;i++) printf(\ printf(\}
void sort(int a[],int n) {
int temp,i,j;
for(i=0;i for(j=i+1;j temp=a[i]; a[i]=a[j]; a[j]=temp; } } 第十一章 一、 单项选择题 1 .( D ) 2.( D ) 3.( C ) 二、阅读程序写结果 1.答案:复制f1到f2 2.答案: 121314252627 三、填空题 1. 文本文件 二进制文件 2. 返回―NULL‖ 3. 读取单个字符 四、程序问答题 1.文件的分类?答案:系统文件 用户文件 文本文件 二进制文件文件 随机文件 源文件 目标文件 可执行文件 2. 使用文件的一般步骤? 答案:打开文件 –> 操作文件-> 关闭文件 五、编程题 1.编写程序,从键盘输入200个字符,存入名为‖f1.txt‖的磁盘文件中。 #include if((fp=fopen(\{ printf(\exit(0); 顺序 } for(i=0;i<200;i++) {ch=fgetchar(); fputc(ch,fp); } fclose(fp); } 2.编写程序,从CCW.TXT文本文件中读出每一个字符,将其加密后写入CCW1.TXT文件中,加密的方法是每个字节的内容减10。 #include FILE *fp1,*fp2; char ch; int m; if((fp1=fopen(\ { printf(\ exit(0); } if ((fp2=fopen(\ { printf(\ exit(0); } while(!feof(fp1)) {ch=fgetc(fp1); ch=ch-10; fputc(ch,fp2); } fclose(fp2); fclose(fp1); if ((fp2=fopen(\ { printf(\ exit(0); } while(!feof(fp2)) { ch=fgetc(fp2); putchar(ch); } fclose(fp2); } 3.编写程序,能将一个磁盘文件1的内容复制到另一个磁盘文件2中,即模仿copy命令的功能。 # include char c1,c2; if ((f1=fopen(\{ printf(\exit(0); } if ((f2=fopen(\{ printf(\exit(0); } for(k=1;k<=1000;k++) { if(feof(f1)) break; fputc(fgetc(f1),f2); } fclose(f1); fclose(f2); } 4.编写程序,用于显示指定的文本文件的内容,每20行暂停一下。 #include FILE *fp; int i=0; char ch; if((fp=fopen(\{ printf(\exit(0); } while(!feof(fp)) { ch=fgetc(fp); putchar(ch); if(ch=='\\n') i++; if(i>0&&i ==0) getchar(); } fclose(fp); } 5, 从键盘输入一行字符串,将其中的小字母全部转换成大写字母,然后输出到一个磁盘文件\中保存。 #include FILE *fp1,*fp2; char ch; if((fp1=fopen(\ { printf(\ exit(0); } if ((fp2=fopen(\ { printf(\ exit(0); } while(!feof(fp1)) { ch=fgetc(fp1); fputc(ch,fp2); } fclose(fp1); fclose(fp2); }