C语言课后习题答案第18章.docx
- 文档编号:29476300
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:44
- 大小:29.77KB
C语言课后习题答案第18章.docx
《C语言课后习题答案第18章.docx》由会员分享,可在线阅读,更多相关《C语言课后习题答案第18章.docx(44页珍藏版)》请在冰豆网上搜索。
C语言课后习题答案第18章
第1章C语言概述
一、简答题
1.
(1)语言简洁、紧凑,使用方便、灵活;
(2)运算符丰富;(3)具有丰富的数据类型;(4)具有结构化的控制语句;(5)语法限制不太严格,程序设计自由度大;(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接访问硬件;(7)生成目标代码质量高,程序执行效率高;(8)用C语言写的程序可移植性好,基本上不作修改就能用于各种型号的计算机和各种操作系统。
2.顺序结构,分支结构,循环结构
3.所谓算法就是为解决一个问题而采取的方法和步骤。
算法的特性:
有穷性、确定性、输入、输出、可行性。
表示算法的方式:
(1)用自然语言表示;
(2)用流程图表示;(3)用N—S流程图表示;(4)用伪代码表示;(5)用计算机语言表示。
二、算法
1.瓶子A里盛有醋
瓶子B里盛有酱油
那一个空瓶C
将A中的醋倒入C
将B中的酱油倒入A
将C中的醋倒入B
2.输入一个数放在a中
max=a
以下步骤重复9次:
输入一个数放在a中
如果a>max,max=b
打印max的值
3.如果a
temp=a
a=b
b=temp
如果c>a
temp1=a
temp2=b
a=c
b=temp1
c=temp2
否则
如果c>b
temp=b
b=c
c=temp
打印a,b,c的值
4.i=1
sum=0
以下程序循环100遍:
sum=sum+i
i=i+1
打印sum的值
5.如果(n除以3的余数为0并且n除以5的余数为0)
n能够同时被3和5整除
否则
n不能够同时被3和5整除
6.i=101
以下语句循环50遍:
j=2
flag=1
当j<(i除以2的整数部分)时循环以下语句:
如果i除以j的余数为零
flag=0
退出该循环
如果flag=1
打印i的值
i=i+1
7.如果m temp=m m=n n=temp i=n j=1 做以下循环,直到m能够被i/j整除: 如果i能够被j整除并且m能够被i/j整除 i/j即是m和n的最大公约数 跳出循环 否则 j=j+1 打印i/j的值 8.data=b*b—4*a*c 如果data>0 否则如果data=0 x1=x2=—b/2 否则 无实数解 三、编程题 1.main() { printf(“##############################\n”); printf(“Howdoyoudo? \n”); printf(“##############################\n”); } 2.main() { inta,b,c; scanf(“%d%d%d”,&a,&b,&c); printf(“sum=%d”,a+b+c); } 第二章数据类型与表达式 一、单项选择题 1.B2.C3.A4.A5.D6.B7.B8.A9.C10.D 二、写出下列程序的运行结果 1. aabbccabc AN 2. ab 9798 3.9,11,9,10 4. a=2,b=3,c=2 5. s1=2.500000 s2=3 三、编程题 main() { charc1='c',c2='h',c3='i',c4='n',c5='a'; c1=c1+4; c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4; printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 第三章顺序程序设计 选择题 1)B2)D3)D4)A5)B6)A7)B8)A9)D10)D11)C12)D13)A 填空题 1)b2)2613)2521374)abc5)5.0,4,c=36)3 编程题 #definepi3.1415926 main() { floath,r,l,sv,sz; printf(“请输入圆的半径r,圆柱高h: \n”); scanf(“%f,%f”,&r,&h); l=2*pi*r; s=pi*r*r; sv=3.0/4.0*pi*r*r*r; sz=pi*r*r*h; printf(“圆周长为: l=%6.2f,圆面积为: s=%6.2f\n”,l,s); printf(“求体积为: sv=%6.2f,圆柱体积为: sz=%6.2f\n”,sv,sz); } 2、 main() { floatc,f; printf(“请输入一个华氏温度: \n”); scanf(“%f”,&f); c=(5.0/9.0)*(f-32); printf(“摄氏温度为: %6.2f\n”,c); } 第四章循环程序设计 一、选择题 1.D2.D3.D4.C5.D6.A7.B8.B9.A10.D.11.B12.A13.B14.C15.C16.C17.D18.B19.D20.D21.A 二、填空题 1.585858 2.0 3.20 4.8921 5.20,0 6.6 7.1,3,2 8.Year%400==0 year%100! =0 count++ 三、编程题 1. main() { longa; scanf(“%ld”,&a); if(a>=10000&&a<=99999) printf(“这是个五位数”); elseif(a>=1000&&a<=9999) printf(“这是个四位数”); elseif(a>=100&&a<=999) printf(“这是个三位数”); elseif(a>=10&&a<=99) printf(“这是个二位数”); elseif(a>=0&&a<=9) printf(“这是个一位数”); else printf(“输入错误”); } 2. main() { inta; intg,s,b;//个位、十位、百位 printf("水仙花数有: \n"); for(a=100;i<=999;a++) {g=a%10; s=a/10%10; b=a/100; if(a==g*g*g+s*s*s+b*b*b) printf("%d",a); } printf("\n"); } 4、 main() {inti,n; printf("inputn: "); scanf("%d",&n); printf("\n%d=",n); for(i=2;i<=n;i++) {while(i! =n) if(n%i==0) {printf("%d*",i);n/=i;} elsebreak; } printf("%d\n",n); } 5、 #include“stdio.h” main() { charc; intw,x,y,z; w=x=y=z=0; while((c=getchar())! =’\n’) { if((c>’a’&&c<’z’)||(c>’A’&&c<’Z’)) w++; elseif(c==’’) x++; elseif(c>’0’&&c<’9’) y++; elsez++ } printf(“英文字母个数: %d\n”,w); printf(“空格个数: %d\n”,x); printf(“数字个数: %d\n”,y); printf(“其他字母个数: %d\n”,z); } 6、main() { floath=100,t; intj; for(j=1;j<10;j++) { t=h/2; h+=(t*2); } printf(“共经过: %f米\n”,h); printf(“第十次反弹%f米\n”,t); } 第五章数组 一、单项选择题 1.B2.A3.C4.C5.D6.B7.C8.B9.C10.B 二、写出下列程序的运行结果 1.S=368 2.***** ***** ***** ***** ***** 3.S1=18 S2=10 4.! margorP 5.数字0的出现次数是: 3 数字1的出现次数是: 2 数字2的出现次数是: 2 数字3的出现次数是: 2 数字4的出现次数是: 0 数字5的出现次数是: 1 数字6的出现次数是: 1 数字7的出现次数是: 1 数字8的出现次数是: 1 数字9的出现次数是: 1 三、编程题 1.#include"stdio.h" main() {inta[11]; inti,j,t; printf("input10number: \n"); for(i=1;i<11;i++) scanf("%d",&a[i]); printf("\n"); for(i=1;i<=9;i++) for(j=1;j<=10-i;j++) if(a[j] {t=a[j];a[j]=a[j+1];a[j+1]=t;} printf("thesortednumberis: \n"); for(i=1;i<11;i++) printf("%4d",a[i]); } 2.#include"stdio.h" main() {inta[11],i,b; printf("imput10sortednumber: \n"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("inputaninteger: \n"); scanf("%d",&b); for(i=9;i>=0&&a[i]>b;i--) a[i+1]=a[i]; a[i+1]=b; printf("sortednumbers: \n"); for(i=0;i<11;i++) printf("%5d",a[i]); } 3.#include"stdio.h" main() {inta[5],i,j,t; printf("input5integer: \n"); for(i=0;i<5;i++)/*输入5个整数*/ scanf("%d",&a[i]); for(i=0,j=4;i {t=a[i];a[i]=a[j];a[j]=t;} for(i=0;i<5;i++)/*逆序存放后重新输出*/ printf("%5d",a[i]); } 4.#include"stdio.h" main() {inti,j,a[10][10]={{1},{1,1}}; for(i=2;i<10;i++)/*给二维数组每个元素赋值*/ {a[i][0]=1; for(j=1;j<=i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; } for(i=0;i<10;i++)/*输出二维数组*/ {for(j=0;j<=i;j++) printf("%-5d",a[i][j]); printf("\n"); } } 5.#include"stdio.h" main() {inta[3][4],i,j,max,row,col; printf("input3*4matrix: \n"); for(i=0;i<3;i++)/*输入3*4矩阵*/ for(j=0;j<4;j++) scanf("%d",&a[i][j]); max=a[0][0];row=0;col=0; for(i=0;i<3;i++)/*寻找矩阵中的最大值及其行列号*/ for(j=0;j<4;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课后 习题 答案 18