c语言程序设计(胡宏智)第五六七八章课后答案
更新时间:2024-06-19 19:48:01 阅读量: 综合文库 文档下载
- c语言程序设计课后题答案推荐度:
- 相关推荐
习题五参考答案:
一、单项选择题
【习题5-1】~【习题5-8】 DCABBDCA 二、阅读程序写结果或填空题 【习题5-9】~ ⑴ 二 ⑵ 4 ⑶ 'B' 【习题5-10】5
【习题5-11】a[k][k]
【习题5-12】⑴ a[0] ⑵ a[k] ⑶ t 【习题5-13】⑴ b[j] ⑵ a[m] ⑶ k<12 【习题5-14】运行结果为:
【习题5-15】1 1 1
【习题5-16】
三、编写程序题 【习题5-17】: #include
int a[10],b[6],c[10]; int i,j,k,m;
for(m=0;m<10;m++) scanf(\ for(m=0;m<6;m++) scanf(\ printf(\ i=0;k=0; while(i<10)
{ for(j=0;j<6;j++) if(a[i]==b[j]) break; if(j>=6) {c[k]=a[i];k++;} i++; }
for(m=0;m 【习题5-18】: #include main() { int a[3][4],s=0,m,n; for(m=0;m<3;m++) for(n=0;n<4;n++) scanf(\ printf(\ for(m=0;m<3;m++) s=s+a[m][0]+a[m][3]; for(n=1;n<3;n++) s=s+a[0][n]+a[2][n]; printf(\} 【习题5-19】: #include char a[20],b[20]; int m,n,k,f; gets(a);gets(b); m=strlen(a);n=strlen(b); k=0; while((a[k]==b[k])&&k printf(\} 【习题5-20】: #include char s[20],t; int k,n=0; gets(s); for(k=0;k if((s[k]>='A'&&s[k]<='Z')||( s[k]>='a'&&s[k]<='z')) n++; printf(\} 【习题5-21】: #include int a[10],k,m,n,j; for(j=0;j<10;j++) scanf(\ printf(\ scanf(\ n=9; do { for(j=0;j for(m=j;m a[m]=a[m+1]; n=n-1; } } while(1); printf(\ for(j=0;j 习题六参考答案: 一、单项选择题【习题6-1】~【习题6-10】 B D A C B D A C C D 二、阅读下列程序,填空或给出程序运行结果。 【习题6-11】 num=*b, num =*c 【习题6-12】*p1++,*p2 【习题6-13】*(a+j), a+j 【习题6-14】8 7 6 5 4 3 2 1 【习题6-15】 2 ,3, 4, 5, 6. 【习题6-16】1711717 【习题6-17】ga 三、 编写程序程题 【习题6-18】 #include \void main() { int a[10]={3,42,6,12,33,55,25,45,76,93}; int i,j,k,x,*p; scanf(\ p=a; if (k>0&&k<10) { for (i=0;i *(p+j)=*(p+j-1); *p=x; } } for (i=0;i<10;i++) printf(\} 【习题6-19】 #include \#include \void main() { int a[3][3]={42,6,12,33,55,25,45,76,93}; int i,j,*sum; sum=(int *)malloc(3*sizeof(int)); for (i=0;i<3;i++) { for(j=0;j<3;j++) *(sum+i)+=a[i][j]; } for(i=0;i<3;i++) printf(\ } 【习题6-20】 #include \#include \void main() { int a[3][3]={1,2,5,4,3,6,9,8,7}; int i,j,(*p)[3],max; int r,c,flag=1; p=a; for (i=0;i<3;i++) {flag=1; max=*(*(p+i)); r=i;c=0; for(j=1;j<3;j++) { if (max<*(*(p+i)+j)) {max= *(*(p+i)+j); r=i;c=j; } } for(j=0;j<3;j++) {if (max > *(*(p+j)+c)) flag=0; } if (flag) printf(\ } } 【习题6-21】 #include \#include \main() { char str[50],*p1,*p2; printf(\ gets(str); p1=str;p2=str; while(*p2!='\\0') { p2++; } p2--; while(*p1==*p2&&p1 if (p1==p2) printf(\ else printf(\} 【习题6-22】 #include \#include \ void replace(char *str, char ch, char ch2); main() { char str[50]; char c1,c2; printf(\ strings\\n\ gets(str); printf(\ two char \\n\ scanf(\ replace(str,c1,c2); printf(\} void replace(char *str, char ch, char ch2) { char *p1; p1=str; while(*p1!='\\0') { if(*p1==ch) { *p1=ch2; } p1++; } } 【习题6-23】 #include \#include \ int delStr(char *str, char ch); main() { char str[80]=\ char ch; int i; scanf(\ printf(\ i=delStr(str,ch); printf(\} int delStr(char *str, char ch) { int i,j,total,k,sum; char *p; i=0;total=0; p=str; while(*(p+i)!='\\0') /*p1字符串是否结束*/ { k=i; sum=0; while(*(p+k)==ch) /*k移动到不要删除位置*/ { k++; sum++; /*删除字符个数*/ } total+=sum; if (*(p+i)==ch) { for(j=i;*(p+j+sum)!='\\0';j++) *(p+j)=*(p+j+sum); *(p+j)='\\0'; } i++; } return total; } 【习题6-24】 #include \#include \ void reversestr(char * str) ; void main() { char str[50]; printf(\ gets(str); reversestr(str); printf(\} void reversestr(char *str) { char ch,*p1,*p2; p1=str;p2=str; while(*p2!='\\0') { p2++; } p2--; while(p1 ch=*p1; *p1=*p2; *p2=ch; p1++; p2--; } } 习题七参考答案: 一、单选题 【习题7-1】~ 【习题7-5】: BDACB 【习题7-6】~ 【习题7-10】:BCCDA 【习题7-11】~【习题7-15】:ACACC 【习题7-16】~【习题7-20】:BCCDC 【习题7-21】~【习题7-24】:DABB 二、编写程序题 【习题7-25】参考程序: #include \#include \struct book { char name[30]; int price; }; main() { int i; struct book books[10]; clrscr(); for(i=0;i<10;i++) { printf(\ gets(books[i].name); printf(\ scanf(\ getchar(); } for(i=0;i<10;i++) { printf(\ puts(books[i].name); printf(\ } } 【习题7-26】:参考程序: #include \struct student {int num; char name[8]; int score1; int score2; int score3; int score4; float ave; }; void fun1(struct student stu[]) {int i; for(i=0;i<2;i++) { printf(\ scanf(\ printf(\ scanf(\ printf(\ scanf(\ printf(\ scanf(\ printf(\ scanf(\ printf(\ scanf(\ stu[i].ave=(stu[i].score1+stu[i].score2+stu[i].score3+stu[i].score4)/4.0; } } void fun2(struct student stu[]) {int i; printf(\ for(i=0;i<2;i++) printf(\ ,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].score4,stu[i].ave); } main() {int i; struct student stu1[2]; clrscr(); fun1(stu1); fun2(stu1); } 【习题7-27】参考程序: #include \struct complex { int rp; int ip; }; struct complex input(struct complex plural) { printf(\ scanf(\ printf(\ scanf(\ return plural; } void output(struct complex plural) { printf(\} struct complex add(struct complex plu1,struct complex plu2) { struct complex plu; plu.rp=plu1.rp+plu2.rp; plu.ip=plu1.ip+plu2.ip; return plu; } main() { struct complex plu1,plu2,plu; plu1=input(plu1); plu2=input(plu2); plu=add(plu1,plu2); output(plu); } 【习题7-28】参考程序: struct node *Merge(struct node *h1,struct node *h2) { struct node *p,*q,*r,*s,*h; p=h1;q=h2; if(p->num {h=s=p;r=p;p=p->next;r->next=NULL;} else {h=s=q;r=q;q=q->next;r->next=NULL;} while(p&&q) { if(p->num {r=q;q=q->next;} s->next=r; s=s->next; } if(p) s->next=p; else s->next=q; return h; } 【习题7-29】参考程序: #include \#include \struct chicken { int cock; int hen; int chick; }ch[20]; main() { int i,j,k,n=0; struct chicken *p; for(i=0;i<=100/5;i++) for(j=0;j<=100/3;j++) for(k=0;k<=100*3;k++) if(i+j+k==100&&i*5+j*3+k/3.0==100.00) { ch[n].cock=i; ch[n].hen=j; ch[n].chick=k; n++; } p=ch; for(i=0;i printf(\ p++; } } 习题八参考答案: 一、单选题 【习题8-1】~【习题8-5】:BCCCC 【习题8-6】~【习题8-10】:ABADB 【习题8-11】~【习题8-12】:AC 二、简答题 【习题8-13】提示:根据文本文件和二进制文件的特点进行回答。 【习题8-14】:文件是指存储在外部介质上一组相关数据的集合。根据文件的组 织形式,文件可以分为ASCII文件和二进制文件。 【习题8-15】:对文件的操作的步骤:先打开,后读写,最后关闭。 三、编写程序题 【习题8-16】参考程序: #include \#include \main() { FILE *fp1,*fp2,*fp3; char str[128]; if((fp1=fopen(\ { printf(\ exit(0); } if((fp2=fopen(\ {printf(\ exit(0); } if((fp3=fopen(\ {printf(\ exit(0); } while((strlen(fgets(str,128,fp1)))>0) { fputs(str,fp3); printf(\ } while((strlen(fgets(str,128,fp2)))>0) {fputs(str,fp3); printf(\ } fclose(fp1); fclose(fp2); fclose(fp3); } 【习题8-17】:参考程序: #include \ main(int argc,char *argv[]) { FILE *fp; int ch,sign=0,count=0; if(argc!=2) { printf(\ exit(1); } fp=fopen(argv[1],\ if(!fp) { printf(\ exit(1); } ch=getc(fp); while(ch!=EOF) { if(ch>160) if(sign) { sign=0; count++; } else sign=1; ch=getc(fp); } fclose(fp); printf(\} 【习题8-18】:参考程序: #include \struct stud { char id[10]; char name[10]; char birth[9]; float inscore; }; struct studc { char id[10]; char name[10]; float cmark; }; main() { int i=5; FILE *fps,*fpd; struct stud data[5]={{\ {\ {\ {\ {\ struct studc temp; fps=fopen(\ if(!fps) { printf(\ exit(1); } fwrite(data,sizeof(struct stud),5,fps); fclose(fps); fps=fopen(\ if(!fps) {printf(\ exit(1); } fpd=fopen(\ if(!fpd) { printf(\ exit(1); } printf(\ for(i=0;i<5;i++) { fread(&tmp,sizeof(struct stud),1,fps); printf(\ scanf(\ strcpy(temp.id,tmp.id); strcpy(temp.name,tmp.name); fwrite(&temp,sizeof(struct studc),1,fpd); } printf(\ fclose(fps); fclose(fpd); }
正在阅读:
六年级语文复习归类资料05-28
冬施方案05-24
低碳生活的畅想3.112-01
江西省有机肥企业名录2018版129家10-18
浙大现当代文学真题(03-14)10-03
人大代表建议范文与人大代表意见建议合集07-31
镇海区炼化中学2008届初中毕业生01-19
2010--2016年高考语文全国卷文言文汇编及翻译10-14
关于小学生零花钱的调查报告05-28
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 宏智
- 课后
- 程序设计
- 答案
- 语言
- 五六七八
- 塑料药托项目可行性研究报告(发改立项备案+2013年最新案例范文
- 100首红歌歌词大全
- 氧化铝工程竣工验收管理办法
- 相信幸福
- 精品解析:【全国市级联考】上海市虹口区2018届高三二模生物试题
- 游戏规则
- 上海市各区2017-2018年初三英语二模试题分类汇编:词性转换-老师
- 原子物理学杨福家1-6章 - 课后习题答案
- 伊钢转炉煮炉方案
- 公共艺术设计教案
- 2011—2012学年第2学期期 中考试试卷
- iso9000内审员培训案例练习_24989
- 人力资源部面试评估表
- 3D3S中验算查询常见问题列表
- “十三五”重点项目-工业帽项目商业计划书
- 企业所得税汇算清缴纳税申报审核事项说明
- 高低压电气组管理制度汇编
- 灯管铜帽反挤压模具设计说明书
- 四年级上阅读写作
- 42104综放工作面设计说明书