实验八参考答案
更新时间:2023-12-26 04:13:01 阅读量: 教育文库 文档下载
实验八:参考答案
1、编程实现:判断一个字符串是否是回文,如是输出“yes”,不是输出“no”,字符串由键盘输入。(所谓回文就是正读和反读均一样,如“abba”、“123321”等就是回文)最后将字符串及判断结果输出到文件中,并将本人学号输入到文件中)(C语言源程序文件名为81.c,程序运行结果文件名为81.txt)
【参考程序】 #include
{static char c[30]; int m,n,i; FILE *fp; clrscr();
fp=fopen(\ gets(c);
m=0;n=strlen(c)-1; while(m if(m>=n) fprintf(fp, \else fprintf(fp, \ fprintf(fp, \ fclose(fp); } 2、编程实现:统计一行字符串中单词的个数,单词用1个或多个空格分割(尽量不要抄袭课堂上介绍的程序)。将原字符串和统计结果输入到文件中,并将本人学号输入到文件中)(C语言源程序文件名为82.c,程序运行结果文件名为82.txt) 【参考答案】 #include \void main() {char s[81];int j,num=0;FILE *fp; fp=fopen(\ clrscr();gets(s); 将字符串输出到 fputs(s,fp); 文件中 for(j=1;s[j]!='\\0';j++) if(s[j-1]==' '&&s[j]!=' ')num++; 如果第一个单词前面没有空格,则单词数加1 if(s[0]!=' ')num++; fprintf(fp,\ fprintf(fp, \ fclose(fp); } 3、编程分别统计一个任意读入的字符串中字母字符、数字字符及其它字符的个数。(编程时请尽可能多用附录表中的有关字符操作函数,并将字符串及相关统计结果输出到文件中,最后将本人学号输入到文件中)(C语言源程序文件名为83.c,程序运行结果文件名为83.txt)。 【参考程序】 #include {char c[50]; int i,alpha=0,numeric=0,other=0; FILE *fp; gets(c); fp=fopen(\ for(i=0;c[i]!='\\0';i++) {if(isalpha(c[i])) alpha++; else if(isdigit(c[i])) numeric++; else other++;} fprintf(fp,\ fprintf(fp,\fprintf(fp, \fclose(fp); } 4、按下述排序方法编程实现对一维数组中n个元素的值从大到小排序。并将原数组及排序之后的数组输出到文件中,最后将本人学号输入到文件中)(C语言源程序文件名为84.c,程序运行结果文件名为84.txt)。 排序方法:先将a[0]~a[n-1]中的最大值和最小值分别交换到a[0]和a[n-1]中,再将a[1]~a[n-2]中的最大值和最小值分别交换到a[1]和a[n-2]中,??,其他依此类推。 【测试数据与运行结果】 测试数据:1 2 3 4 5 6 7 8 9 10 输出: 10 9 8 7 6 5 4 3 2 1 【 参考程序】 #include {int n=10,i,j,middle,a[ ]={1,2,3,4,5,6,7,8,9,10}; int max,min,temp; FILE *fp; fp=fopen(\ for(i=0;i {printf(\ printf(\ middle=n/2; for(i=0; i<=middle-1;i++) {if (a[n-i-1]>a[i]) {temp=a[i]; a[i]=a[n-i-1]; a[n-i-1]=temp; } max=a[i]; min=a[n-i-1]; for(j=i+1;j if(a[j] a[j]=a[n-i-1]; a[n-i-1]=min; } } } for(i=0;i {printf(\ printf(\ fprintf(fp, \fclose(fp); } 5、现有10个十六进制数分别以字符串的形式存放在一个二维数组中,找出其中所有的素数,以十六进制形式和十进制形式将每个素数输出到文件中,最后将本人学号输入到文件中)(C语言源程序文件名为85.c,程序运行结果文件名为85.txt)。 【测试数据与运行结果】 测试数据:\输出: B3 179 11 17 1D 29 13 19 【参考程序】 #include {char a[10][5]={\ int i,j,n,x; FILE *fp; fp= fopen(\ for(i=0;i<10;i++) { n=0; for(j=0;a[i][j]!='\\0';j++) {if(a[i][j]>='A'&&a[i][j]<='Z') x=a[i][j]-55; /* 'A'的ASCII码值为65 */ else x=a[i][j]-48; /* 字符'0'的ASCII码值为48 */ n=n*16+x; /*将16进制数转换成10进制数*/ } x=2; while(n%x!=0)x++; /*此循环判断n是否是素数*/ if(x==n) /*满足该条件表示n是素数*/ {printf(\ fprintf(fp,\ } } fprintf(fp, \ fclose(fp); } 四、附加题: 6、编程实现下列功能:在字符串s中所有出现子串s1的后面插入子串s2。要求将原字符串s、s1、s2及结果s字符串输出到文件中,最后将本人学号输入到文件中)(C语言源程序文件名为86.c,程序运行结果文件名为86.txt)。 【测试数据与运行结果】 测试数据:s:"123452367" s1:"23" s2:"ab" 输出:123ab4523ab67 【参考程序】 #include {char s[30]=\ int i=0,j,k,m,len2; FILE *fp; fp= fopen(\ printf(\ fprintf(fp,\ len2=strlen(s2); /*求出字符串s2的长度*/ while(s[i]!='\\0') { j=0; while(s[i]==s1[j]&&s1[j]!='\\0') /*在字符串s中找子串s1*/ { i++; j++; } if(s1[j]=='\\0') /*该条件成立表示已在字符串s中找到了子串s1*/ { for(k=strlen(s); k>=i; k--) /*此for循环的功能为在字符串s中出现子串s1 s[k+len2]=s[k]; 的后面挪出可以插入子串s2的位置*/ for(m=0;m s[i+m]=s2[m]; 插入子串s2*/ } i++; /*进入下一次循环,接着寻找s中还有没有子串s1*/ } printf(\fprintf(fp, \fclose(fp); }
正在阅读:
实验八参考答案12-26
厦门酒店人力资源调查分析与思考05-31
《职业道德与法律》教案111-11
推进全面从严治党工作自查报告范文09-23
固体物理习题集答案11-23
四年级(上)第一单元:大数的认识05-23
钢筋弯折弯钩计算公式11-07
2012青海省数据结构分析基础12-15
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 答案
- 参考
- 实验
- 公共部门人力资源管理阶段练习四
- 岗位评价指标体系
- 焕发工作激情 - - 强化领先意识
- 电子商务基础教案(DOC)
- 自学考试国际运输与保险重点
- 大学生军事理论期末考试题库(附问题详解)
- 畜牧业经济管理总复习题
- 2018年道德与法治第一课第2框成长的不仅仅是身体同步练习
- 环境因素清单及评价
- 家庭私有制和国家的起源
- 郭沫若《甲骨文字研究·释和言》
- 国标苏教版小学数学二年级(上册)期中测试卷
- 2016超星尔雅《有效沟通技巧》考试答案分析
- 商品实物实训 - 图文
- 读《我是你的守护星2》有感
- 透水砖优缺点 - 图文
- lcd12864串口通信
- 关于开展2011年度探矿权年检工作的通知155号
- pkpm软件应用之结构专业施工图审查中常见的若干问题 - secret
- 《财经法规与职业道德》习题全集 - 图文