C语言程序设计教程李凤霞第三版课后答案

合集下载

《C语言程序设计教程》(第三版)李凤霞 主编——第一章习题答案

《C语言程序设计教程》(第三版)李凤霞 主编——第一章习题答案

第一章:程序设计基础知识一、单项选择题1、面向过程的程序设计语言是________。

A)机器语言 B)汇编语言 C)高级语言 D)第四代语言2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是_________。

A)设计数据结构和算法B)建立数学模型C)编写程序 D)调试和运行程序3、以下常用算法中适合计算等差级数的算法是_________。

A)枚举法B)递推法 C)分治法 D)排序法4、以下不属于算法基本特征的是__________。

A)有穷性 B)有效性C)可靠性 D)有一个或多各输出5、以下描述中不正确的是___________。

A)程序就是软件,但软件不仅仅是程序。

B)程序是指令的集合,计算机语言是编写程序的工具。

C)计算机语言都是形式化的语言,它有一个语法规则和定义。

D)计算机语言只能编写程序而不能表示算法。

6、下面描述中,正确的是_____________。

A)结构化程序设计方法是面向过程程序设计的主流。

B)算法就是计算方法。

C)一个正确的程序就是指程序书写正确。

D)计算机语言就是编写程序的工具而不是表示算法的工具。

7、下面描述中,不正确的是______________。

A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。

C)对于同一个问题,递推算法比递归算法的执行时间要长。

D)递推算法总可以转换为一个递归算法。

8、N-S图与传统流程图比较,主要优点是_________。

A)杜绝了程序的无条件转移。

B)具有顺序、选择和循环三种基本结构。

C)简单、只管。

D)有利于编写程序。

A)B)C)D)二、填空题1、在流程图符号中,判断框中应该填写的的是________。

(判断条件)2、结构化程序设计是__________应遵循的方法和原则。

(面向过程编程)3、结构化程序必须用__________程序设计语言来编写。

(具有结构化控制语句)4、可以被连续执行的一条条指令的集合称为计算机的________。

C语言程序设计(第三版)的习题集库答案.doc

C语言程序设计(第三版)的习题集库答案.doc

C 语言程序设计(第三版)习题库1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。

请编程序。

#include <stdio.h>main(){float r,h,C1,Sa,Sb,Va,Vb;scanf(__”%f ”__,&r);scanf(”%d ”,__&h _);;C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*r*r*r/3;Vb=Sa*h;printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb );}2、输入一个华氏温度,要求输出摄氏温度。

公式为 c=5(F-32)/9输出要求有文字说明,取位2小数。

#include <stdio.h>main(){float F,c;scanf("%f",&F);____c=5*(F-32)/9______;printf("c=%.2f",c);}3、有一函数:⎪⎩⎪⎨⎧≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。

#include <stdio.h>main(){int x,y;printf("输入x :");scanf("%d",&x);if(x<1) { /* x<1 */y=x;printf("x=%3d, y=x=%d\n",x,y);} else if (____x<10_______){ /* 1≤x -10 */_____y=2*x-1_______;printf("x=%3d, y=2*x-1=%d\n",x,y);} else{ /* x≥10 */y=3*x-11;printf("x=%3d, y=3*x-11=%d\n",x# include "stdio.h"main(){int x,y;scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}# include "stdio.h"main(){int x,y;scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d\n",y);}# include "stdio.h"main(){int x,y;scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}# include "stdio.h" main(){int x,y;scanf("%d",&x);if(x<1)y=x;else if(x>=1 && x<10)y=2*x-1;elsey=3*x-11;printf("%d",y);},y);}}4、给定一个不多于5位的正整数,要求:①求它是几位数;②按逆序打印出各位数字。

《C语言程序设计教程》(第三版)李凤霞 主编——第九章习题答案

《C语言程序设计教程》(第三版)李凤霞 主编——第九章习题答案

习题九一、单选题1、已知:int *p,a;则语句"p=&a;"中的运算符"&"的含义是()。

A)位与运算 B)逻辑与运算 C)取指针内容D)取变量地址2、已知:int a,x;则正确的赋值语句是()。

A)a=(a[1]+a[2])/2 B)a*=*a+1; C)a=(x=1,x++,x+2); D)a="goog";3、已知:int a,*p=&a; 则下列函数调用中错误的是()。

A)scanf("%d",&a); B)scanf("%d",p); C)printf("%d",a); D)printf("%d",p);4、main(argc,argv)中形式参数argv的正确说明形式应当为()。

A)char *argv[ ] B)char argv[ ][ ] C)char argv[ ] D)char *argv5、说明语句"int (*p)(); "的含义是()。

A)p是一个指向一维数组的指针变量B)p是一个指针变量,指向一个整型数据C)p是一个指向函数的指针,该函数的返回值是一个整型D)以上都不对6、设有说明int(*ptr)[M];其中的标识符ptr是()。

A)M个指向整型变量的指针B)指向M个整型变量的函数指针C)一个指向有M个整型元素的一维数组的指针D)具有M个指针元素的一维指针数组,每个元素都只能指向整型变量7、已知:double *p[6]; 它的含义是()。

A)p是指向double型变量的指针 B)p是double型数组C)p是指针数组 D)p是数组指针8、已知函数说明语句:void *f(); 则它的含义是()。

A)函数f的返回值是一个通用型的指针 B)函数f的返回值可以是任意的数据类型C)函数f无返回值D)指针f指向一个函数,该函数无返回值9、已知:char s[10],*p=s,则在下列语句中,错误的语句是()。

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。

它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。

1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。

其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。

1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。

每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。

1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。

通过运算符和表达式可以进行各种数值计算和逻辑判断。

第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。

整型数据类型可以表示整数值,并具有不同的取值范围。

2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。

浮点型数据可以表示较大或较小的数值,并具有一定的精度。

2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。

字符型数据可以用于表示各种字符(包括字母、数字、符号等)。

2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。

C语言程序设计习题答案(第三版)

C语言程序设计习题答案(第三版)

C语言程序设计(第三版)习题答案习题一一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)高级语言P2(5)汇编程序P3 (6)编译程序P4 (7)算法P5 (8)结构化程序设计方法P10二、简答题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。

2. 算法具有哪些特点?答:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。

3. 算法的表示形式有哪几种?答:自然语言、伪代码、传统流程图、N-S流程图、计算机语言。

4. 结构化程序设计方法的三种基本结构是什么?答:顺序结构、选择结构和循环结构。

5. 传统流程图与N-S流程图最大的区别是什么?答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。

三、用传统流程图或N-S流程图表示求解以下问题的算法。

1. 从键盘输入10个整数,求出其中的最小数并输出。

2. 求1+2+3+…+100的值。

3. 求10~50的所有素数之和。

4. 求下列分段函数的值。

四、请参照本章例题,编写一个简单的C 程序,输出以下三行信息。

**************************Yangtze University**************************#include <stdio.h>void main(){printf("**************************\n");printf(" Yangtze University\n");printf("**************************\n");}4X-1 (X ≤1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)习题二一、选择题1~10: B C D C D D B C A A11~20: D A C D B D B A C D二、填空题1.字母 L 或字母 l2. %c(或字符) 、 %d(或整数)3.在程序运行过程中,其值可以在一定的范围内变化的量4.'\0'5.小数形式、指数形式6.关键字、预定义标识符、用户标识符7.字母、数字、下划线、数字8. 189. 2 、 1 、 3010.双精度实数或double11.赋值、逗号、 20 、 20 、 20 、 412. 4 、 4习题三一、选择题1~10: B C C B C C C D C C注:第4题答案D为: 10 22↙33↙二、填空题1. printf 、 scanf2. h3."%5d"4.'\0'5. e 、 E6. 67. s 、 c8. *9. - 、 +10. i三、编程题1. 编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。

《C语言程序设计教程》(第三版)李凤霞 主编——第五章习题答案

《C语言程序设计教程》(第三版)李凤霞 主编——第五章习题答案
else printf(“%d\n”,(w>x?w:z>y?z:x));
}
A)1 B)2 C)3D)4
7、下面的程序段所表示的数学函数关系是( )。
y=-1;
if(x!=0){if(x>0)y=1;}
else y=0;
A) -1 (x<0)B) 1(x<0)
y= 0 (x=0)y= -1(x=0)
1 (x>0)0(x>0)
else printf(“$$$ a=%d\n”,a);
}
9.下列程序的输出结果是__________。(a=2,b=1)
#include“stdio.h”
main()
{int x=1,y=0,a=0,b=0;
switch(x)
{case 1:switch(y)
{case 0:a++;break;
case 1:b++;br
=1
6.下列程序段的输出是__________。(k=1)
int i=0,k=100,j=4;
if(i+j)k=(i=j)?(i=1):(i=i+j);
printf(“k=%d\n”,k);
7.下列程序段当a的值为014和0x14时的执行结果分别是________。
if(n>10){printf("%d",n%10);n=n/10;}printf("s=%ld\n",s);
printf("%d\n",n); }
}
3、有一个函数:
分别用:(1)简单if语句,(2)嵌套的if语句,(3)if…else语句,(4)switch语句编写程序,要求输入x的值,输出y的值。

c程序设计第三版习题参考解答(全)

c程序设计第三版习题参考解答(全)
max=a;
if (max<b)
max=b;
if (max<c)
max=c;
printf(“最大数为:%d”,max);
}

2.1
解:由一些基本结构顺序组成的算法称为结构化的算法。由于在基本结构之间不存在非顺序的跳转,流程的转移只存在于一个基本结构范围之内,因而提高了算法的质量。
2.7
解:结构化程序就是用高级语言表示的结构化算法。它的主要内容包括“自顶向下,逐步细化”的分析方法和“模块化设计”的解决方法,以及“结构化编码”的实现方法。
设x=2.5,a=7,y=4..7
(2)(float)(a+b)/2+(int)x%(int)y
设a=2,b=3,x=3.5,y=2.5
解:
(1)2.5
(2)3.5
3
main ( )
{ inti, j, m, n;
i=8;
j=10;
m=++i;
n=j++;
printf (“%d, %d, %d, %d”, i, j, m, n);
此题可以这样考虑:带符号数在计算机中采用补码表示,正数的补码与原码相同,负数的补码=模+真值。若使用16位存储,模为216=65536。-617的补码为65536+(-167)=64919=(176627)8=(FD97)16
(5)(-111)10=(177621)8=(FF91)16
(6)(2483)10=(4663)8=(9B3)16
scanf(“%f %e”,&x , &y);
scanf(“%c %c”,&c1 , &c2);
}
解:

《C语言程序设计》第三版课后答案

《C语言程序设计》第三版课后答案

1.5请参照本章例题,编写一个C程序,输出以下信息:************Very Goodj!************解:main(){printf(" ************ \n");printf("\n");printf(" Very Good! \n");printf("\n");printf(" ************\n");}1.6编写一个程序,输入a b c三个值,输出其中最大者。

解:main(){int a,b,c,max;printf("请输入三个数a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf("最大数为:%d",max);}第三章3.3 请将下面各数用八进制数和十六进制数表示:(1)10 (2)32 (3)75 (4)-617(5)-111 (6)2483 (7)-28654 (8)21003解:十八十六(10)=(12)=(a)(32)=(40)=20(75)=(113)=4b(-617)=(176627)=fd97-111=177621=ff912483=4663=963-28654=110022=901221003=51013=520b3.5字符常量与字符串常量有什么区别?解:字符常量是一个字符,用单引号括起来。

字符串常量是由0个或若干个字符而成,用双引号把它们括起来,存储时自动在字符串最后加一个结束符号'\0'.3.6写出以下程序的运行结果:#include<stdio.h>void main(){char c1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);printf("\t\b%c %c\n",c4,c5);解:程序的运行结果为:aabb cc abcA N3.7将"China"译成密码.密码规律:用原来的字母后面第4个字母代替原来的字母, 例如,字母"A"后面第4个字母是"E",用"E"代替"A".因此,"China"应译为"Glmre". 请编一程序,用赋初值的议程使c1,c2,c3,c4,c5分别变成'G','1','m','r','e',并输出.main(){char c1="C",c2="h",c3="i",c4='n',c5='a';c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);}3.8例3.6能否改成如下:#include<stdio.h>void main(){int c1,c2;(原为 char c1,c2)c1=97;c2=98;printf("%c%c\n",c1,c2);printf("%d%d\n",c1,c2);}解:可以.因为在可输出的字符范围内,用整型和字符型作用相同. 3.9求下面算术表达式的值.(1)x+a%3*(int)(x+y)%2/4=2.5(x=2.5,a=7,y=4.7)(2)(float)(a+b)/2+(int)x%(int)y=3.5(设a=2,b=3,x=3.5,y=2.5)3.10写出下面程序的运行结果:#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);}解:结果: 9,11,9,10第4章4.4.a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'.想得到以下的输出格式和结果,请写出程序要求输出的结果如下:a= 3 b= 4 c= 5x=1.200000,y=2.400000,z=-3.600000x+y= 3.60 y+z=-1.20 z+x=-2.40u= 51274 n= 128765c1='a' or 97(ASCII)c2='B' or 98(ASCII)解:main(){int a,b,c;long int u,n;float x,y,z;char c1,c2;a=3;b=4;c=5;x=1.2;y=2.4;z=-3.6;u=51274;n=128765;c1='a';c2='b';printf("\n");printf("a=%2d b=%2d c=%2d\n",a,b,c);printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z);printf("x+y=%5.2f y=z=%5.2f z+x=%5.2f\n",x+y,y+z,z+x); printf("u=%6ld n=%9ld\n",u,n);printf("c1='%c' or %d(ASCII)\n",c1,c2);printf("c2='%c' or %d(ASCII)\n",c2,c2);}4.5请写出下面程序的输出结果.结果:575 767.856400,-789.12396267.856400 ,-789.12396267.86,-789.12,67.856400,-789.123962,67.856400,-789.123962 6.785640e+001,-7.89e+002A,65,101,411234567,4553207,d68765535,17777,ffff,-1COMPUTER, COM4.6用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1='A',c2='a',问在键盘上如何输入?main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d,&a,&b);scanf(" x=%f y=%e",&x,&y);scanf(" c1=%c c2=%c",&c1,&c2);}解:可按如下方式在键盘上输入:a=3 b=7x=8.5 y=71.82c1=A c2=a说明:在边疆使用一个或多个scnaf函数时,第一个输入行末尾输入的"回车"被第二个scanf函数吸收,因此在第二\三个scanf函数的双引号后设一个空格以抵消上行入的"回车".如果没有这个空格,按上面输入数据会出错,读者目前对此只留有一初步概念即可,以后再进一步深入理解.4.7用下面的scanf函数输入数据使a=10,b=20,c1='A',c2='a',x=1.5,y=-3.75,z=57.8,请问在键盘上如何输入数据?scanf("%5d%5d%c%c%f%f%*f %f",&a,&b,&c1,&c2,&y,&z);解:main(){int a,b;float x,y,z;char c1,c2;scanf("%5d%5d%c%c%f%f",&a,&b,&c1,&c2,&x,&y,&z);}运行时输入:10 20Aa1.5 -3.75 +1.5,67.8注解:按%5d格式的要求输入a与b时,要先键入三个空格,而后再打入10与20。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计教程李凤霞第三版课后答案1 【C语言】《C语言程序设计教程(第二版)》习题答案说明1. 本文所指的《C语言程序设计教程(第二版)》是李凤霞主编、北京理工大学出版社出版的,绿皮。

2 第1章程序设计基础知识一、单项选择题(第23页)1-4.CBBC 5-8.DACA二、填空题(第24页)1.判断条件2.面向过程编程3.结构化4.程序5.面向对象的程序设计语言7.有穷性8.直到型循环9.算法10.可读性11.模块化12.对问题的分析和模块的划分三、应用题(第24页)2.源程序:main(){int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */printf(“cock hen chick\n");for(i=1;ii++)for(j=1;jj++)for(k=1;kk++)if (i+j+k*3==100i*5+j*3+k==100)printf(" %d %d %d\n",i,j,k*3);}执行结果:cock hen chick4 18 788 11 8112 4 843.现计算斐波那契数列的前20项。

递推法源程序:main(){long a,b;int i;a=b=1;for(i=1;ii++) /*要计算前30项,把10改为15。

*/ {printf("%8ld%8ld",a,b);a=a+b;b=b+a;}}递归法源程序:main(){int i;for(i=0;ii++)printf("%8d",fib(i));}fib(int i){return(i=1?1:fib(i-1)+fib(i-2));}执行结果:1 123 5 8 13 21 34 5589 144 233 377 610 987 __4.源程序:#include "math.h";main(){double x,x0,deltax;x=1.5;do {x0=pow(x+1,1./3);deltax=fabs(x0-x);x=x0;}while(deltax1e-12);printf("%.10f\n",x);}执行结果:1.__-__725.源程序略。

(分子、分母均构成斐波那契数列) 结果是32.__-__8646.源程序:main(){int a,b,c,m;printf("Please input a,b and c:");scanf("%d %d %d",a,b,if(ab){m=a;a=b;b=m;}if(ac){m=a;a=c;c=m;}if(bc){m=b;b=c;c=m;}printf("%d %d %d\n",a,b,c);}执行结果:Please input a,b and c:123 456 789789 456 1237.源程序:main(){int a;scanf("%d",printf(a%21==0?"Yes":"No");}执行结果:42Yes3 第2章C语言概述1-4.BDCB 5-8.AABC二、填空题(第35页)1.主2.C编译系统3.函数函数4.输入输出5.头6. .OBJ7.库函数8.文本三、应用题(第36页)5.sizeof是关键字,stru、_aoto、file、m_i_n、hello、ABC、SIN90、x1234、until、cos2x、s_3是标识符。

8.源程序:main(){int a,b,c;scanf("%d %d",a,c=a;a=b;b=c;printf("%d %d",a,b);}执行结果:12 3434 124 第3章数据类型与运算规则1-5.DBACC 6-10.DBDBC 11-15.ADCCC 16-20.CBCCD 21-25.ADDBC 26-27.AB二、填空题(第77页)1.补码2.±(10^-308~10^308)3.int(整数)4.单目数调用6.a或b 7.1 8.65,89三、应用题(第78页)1.10 92.执行结果:111215 第4章顺序结构程序设计一、单项选择题(第90页)1-5.DCDAD 6-10.BACBB 5.函自右相左二、填空题(第91页)1.一;2. 5.__3.(1)-2022年500 (2)I=-200,j=2500 (3)i=-200 j=25004.a=98,b=765.000000,c=4321.000000 5.略6.0,0,37.38.scanf("%lf%lf%lf",a,b, 9. 13 13.000000,13.00000010.a=a^c;c=c^a;a=a^c;(这种算法不破坏b的值,也不用定义中间变量。

)三、编程题(第92页)1.仿照教材第27页例2-1。

2.源程序:main(){int h,m;scanf("%d:%d",h,printf("%d\n",h*60+m);}执行结果:9:235633.源程序:main(){int a[]={-10,0,15,34},i;for(i=0;ii++)printf("%d\370C=%g\370F\t",a[i],a[i]*1.8+32);}执行结果:-10℃=14°F 0℃=32°F 15℃=59°F 34℃=93.2°F 4.源程序:main(){double pi=3.__979,r=5;printf("r=%lg A=%.10lf S=%.10lf\n",r,2*pi*r,pi*pi*r);} 执行结果:r=5 A=31.__-__59 S=49.__-__年45.源程序:#include "math.h";main(){double a,b,c;scanf("%lf%lf%lf",a,b,if (a+bca+cbb+ca){double s=(a+b+c)/2;printf("SS=%.10lf\n",sqrt(s*(s-a)*(s-b)*(s-c)));} else printf("Data error!");}执行结果:4 5 6SS=9.__-__656.源程序:main(){int a=3,b=4,c=5;float d=1.2,e=2.23,f=-43.56;printf("a=%3d,b=%-4d,c=__%d\nd=%g\ne=%6.2f\nf=%-10.4f__\n",a,b,c,d,e,f);}7.源程序:main(){int a,b,c,m;scanf("%d %d %d",a,b,m=a;a=b;b=c;c=m;printf("%d %d %d\n",a,b,c);}执行结果:5 6 76 7 58.源程序:main(){int a,b,c;scanf("%d %d %d",a,b,printf("average of %d,%d and %d is %.2f\n",a,b,c,(a+b+c)/3.); 执行结果:6 7 9average of 6,7 and 9 is 7.339.不能。

修改后的源程序如下:main(){int a,b,c,x,y;x=a*b;y=__c;printf("a=%d,b=%d,c=%d\n",a,b,c);printf("x=%d,y=%d\n",x,y);}6 第5章选择结构程序设计一、单项选择题(第113页)1-4.DCBB 5-8.DABD二、填空题(第115页)1.非0 02.k==03.if (abs(x)4) printf("%d",x);else printf("error!");4.if((x=1x=10||x=200x=210)x1)printf("%d",x);5.k=1 (原题最后一行漏了个d,如果认为原题正确,则输出k=%。

)6. 8! Right!117.$$$a=08.a=2,b=1三、编程题(第116页)1.有错。

正确的程序如下:main(){int a,b,c;printf("min=%d\n",ab?bc?c:b:ac?c:a);}2.源程序:main(){unsigned long a;scanf("%ld",for(;a;printf("%d",a%10),a/=10);}执行结果:____3.(1)源程序:main(){int x,y;scanf("%d",if (x-5x0)y=x;if (x=0x5)y=x-1;if (x=5x10)y=x+1;printf("%d\n",y);}(2)源程序:main(){int x,y;scanf("%d",if(x10) if(x-5) if(x=0) if(x=5)y=x+1; else y=x-1; else y=x;printf("%d\n",y);}(3)源程序:main(){int x,y;scanf("%d",if(x10) if(x=5)y=x+1;else if(x=0)y=x-1;else if(x-5)y=x;printf("%d\n",y);}(4)源程序:main(){int x,y;scanf("%d",switch(x/5){case -1:if(x!=-5)y=x;break;case 0:y=x-1;break;case 1:y=x+1;}printf("%d\n",y);}4.本题为了避免考虑每月的天数及闰年等问题,故采用面向对象的程序设计。

现给出Delphi源程序和C++ Builder源程序。

Delphi源程序:procedure TForm1.Button1Click(Sender: TObject);beginedit3.Text:=format('%.0f天',[strtodate(edit2.text)-strtodate(edit1.text)]);end;procedure TForm1.FormCreate(Sender: TObject);beginEdit2.Text:=datetostr(now);button1click(form1)end;C++ Builder源程序:void __fastcall TForm1::Button1Click(TObject *Sender){Edit3-Text=IntToStr(StrToDate(Edit2-Text)-StrToDate(Edit1-Text))+"天";}void __fastcall TForm1::FormCreate(TObject *Sender){Edit2-Text=DateToStr(Now());Button1Click(Form1);}执行结果:(运行于Windows下) /nxgt/__-__/__-__27.jpg5.源程序:main(){unsigned a,b,c;printf("请输入三个整数:");scanf("%d %d %d",a,b,if(abca==ba==c)printf("构成等边三角形\n"); else if(a+bca+cbb+ca) if(a==b||a==c||b==c)printf("构成等腰三角形\n");else printf("构成一般三角形\n");else printf("不能构成三角形\n");}执行结果:请输入三个整数:5 6 5构成等腰三角形6.源程序:main(){int x,y;scanf("%d",if(x20)y=1;else switch(x/60){case 0:y=x/10;break;default:y=6;}printf("x=%d,y=%d\n",x,y);}7.源程序:main(){unsigned m;float n;scanf("%d",if(m100)n=0;else if(m600)n=0.06;else n=(m/100+0.5)/100;printf("%d %.2f %.2f\n",m,m*(1-n),m*n);}执行结果:450450 429.75 20.258. 2171天(起始日期和终止日期均算在内)本题可利用第4小题编好的程序进行计算。

相关文档
最新文档