文档库 最新最全的文档下载
当前位置:文档库 › c语言习题及答案_爱课程mooc

c语言习题及答案_爱课程mooc

c语言习题及答案_爱课程mooc
c语言习题及答案_爱课程mooc

第一章

题目内容:

使用printf()在屏幕上输出hello world!

提示:

#include <>

int main()

{

printf("hello world!\n");

return 0;

}

输入格式:

输出格式:

输出提示信息:"hello world!\n"

输入样例:

输出样例:

hello world!

#include <>

int main()

{

printf("hello world!\n");

return 0;

}

在屏幕上输出多行信息(3分)

题目内容:

使用printf()函数在屏幕上输出以下多行信息:

hello world!

hello hit!

hello everyone!

提示:

在printf()函数中转义字符‘\n’表示换行。

输入格式:

输出格式:

输出提示信息:

"hello world!\n"

"hello hit!\n"

"hello everyone!\n"

输入样例:

输出样例:

hello world!

hello hit!

hello everyone!

#include <>

int main()

{

printf("hello world!\n");

printf("hello hit!\n");

printf("hello everyone!\n");

return 0;

}

计算半圆弧的周长及半圆面积(3分)

题目内容:

编程并输出半径r=的半圆弧的周长及该半圆的面积,的取值为。要求半径r和必须利用宏常量表示。

输入格式:

输出格式:

半圆的面积输出格式:"Area=%f\n"

半圆弧的周长输出格式:"circumference=%f\n"

输入样例:

输出样例:

Area=

circumference=

#include<>

#define PI

#define R

int main()

{

printf("Area=%f\n", R*R*PI/2);

printf("circumference=%f\n", 2*R*PI/2);

return 0;

}

计算长方体体积(3分)

题目内容:

编程并输出长、宽、高的长方体的体积。要求长方体的长、宽、高必须利用const常量表示。

输入格式:

输出格式:

长方体的体积输出格式:"volume=%.3f\n"

输入样例:

输出样例:

#include<>

int main()

{

const float l=;

const float x=;

const float y=;

printf("volume=%.3f\n", l*x*y);

return 0;

}

第三章

计算两个数的平方和(3分)

题目内容:

从键盘读入两个实数,编程计算并输出它们的平方和,要求使用数学函数pow(x,y)计算平方值,输出结果保留2位小数。

提示:使用数学函数需要在程序中加入编译预处理命令#include <>

以下为程序的输出示例:

please input x and y:

,↙

result=

输入格式:

"%f,%f"

输出格式:

输入提示信息:"please input x and y:\n"

输出格式:"result=%.2f\n"

输入样例:

输出样例:

#include<>

#include<>

int main()

{

printf("please input x and y:\n");

float x, y;

scanf("%f,%f", &x, &y);

printf("result=%.2f\n", pow(x,2)+pow(y,2));

return 0;

}

逆序数的拆分计算(3分)

题目内容:

从键盘输入一个4位数的整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-1234,忽略负号,由1234分离出其千位1、百位2、十位3、个位4,然后计算4*1000+3*100+2*10+1 = 4321,并输出4321。再将得到的逆序数4321拆分为两个2位数的正整数43和21,计算并输出拆分后的两个数的平方和的结果。

以下是程序的输出示例:

Input x:

-1234↙

y=4321

a=43,b=21

result=2290

输入格式:

"%d"

输出格式:

输入提示信息:"Input x:\n"

逆序数输出格式:"y=%d\n"

逆序数拆分后的输出格式:"a=%d,b=%d\n"

平方和的输出格式:"result=%d\n"

输入样例:

输出样例:

#include<>

int main()

{

printf("Input x:\n");

int x;

scanf("%d", &x);

if(x<=0)

{

x=-x;

}

int a, b, c, d;

a=x/1000;

b=x/100%10;

c=x/10%10;

d=x%10;

printf("y=%d\n", d*1000+c*100+b*10+a);

printf("a=%d,b=%d\n", d*10+c, b*10+a);

printf("result=%d\n", (b*10+a)*(b*10+a)+(d*10+c)*(d*10+c));

return 0;

}

拆分英文名(3分)

题目内容:

从键盘输入某同学的英文名(小写输入,假设学生的英文名只包含3个字母。如: tom),编写程序在屏幕上输出该同学的英文名,且首字母大写(如: Tom)。同时输出组成该英文名的所有英文字符在26个英文字母中的序号。

以下为程序的输出示例:

input your English name:

tom↙

Tom

t:20

o:15

m:13

输入格式:

"%c%c%c"

输出格式:

输入提示信息:"input your English name:\n"

首字母大写的英文姓名的输出格式:"%c%c%c\n"

姓名中每个字母在26个英文字母中的序号的输出格式:"%c:%d\n"

输入样例:

输出样例:

#include<>

int main()

{

printf("input your English name:\n");

char a, b, c;

scanf("%c%c%c", &a, &b, &c);

printf("%c%c%c\n", a+'A'-'a', b, c);

printf("%c:%d\n", a, a-'a'+1);

printf("%c:%d\n", b, b-'a'+1);

printf("%c:%d\n", c, c-'a'+1);

return 0;

}

计算体指数(3分)

题目内容:

从键盘输入某人的身高(以厘米为单位,如174cm)和体重(以公斤为单位,如70公斤),将身高(以米为单位,如)和体重(以斤为单位,如140斤)输出在屏幕上,并按照以下公式计算并输出体指数,要求结果保留到小数点后2位。

假设体重为w公斤,身高为h米,则体指数的计算公式为:

以下是程序的输出示例:

input weight, height:

70,174↙

weight=140

height=

t=

输入格式:

"%d,%d"

输出格式:

输入提示信息:"input weight, height:\n" (注意:在height和逗号之间有一个空格)

体重输出格式:"weight=%d\n"

身高输出格式:"height=%.2f\n"

体指数输出格式:"t=%.2f\n"

输入样例:

输出样例:

#include<>

int main()

{

int x, y;

printf("input weight, height:\n");

scanf("%d,%d", &x, &y);

printf("weight=%d\n", x*2);

printf("height=%.2f\n", y/;

printf("t=%.2f\n", x/((y/*(y/));

return 0;

}

第四章

数位拆分(4分)

题目内容:

从键盘上输入一个4位数的整数n,编写程序将其拆分为两个2位数的整数a和b,计算并输出拆分后的两个数的加、减、乘、除和求余运算的结果。例如n=-4321,设拆分后的两个整数为a,b,则a=-43,b=-21。除法运算结果要求精确到小数点后2位。求余和除法运算需要考虑除数为0的情况,即如果拆分后b=0,则输出提示信息"the second operater is zero!"

程序的运行结果示例1:

please input n:

1200↙

12,0

sum=12,sub=12,multi=0

the second operater is zero!

程序的运行结果示例2:

please input n:

-2304↙

-23,-4

sum=-27,sub=-19,multi=92

dev=,mod=-3

输入格式:

"%d"

输出格式:

输入提示信息:"please input n:\n"

拆分后的两个整数的输出格式:"%d,%d\n"

加法、减法、乘法的输出格式:"sum=%d,sub=%d,multi=%d\n"除法和求余的输出格式:"dev=%.2f,mod=%d\n"

除数为0的提示信息:"the second operater is zero!\n"

输入样例:

输出样例:

#include <>

main()

{

int m,x,y;

printf("please input n:\n");

scanf("%d",&m);

x=m/100;

y=m%100;

printf("%d,%d\n",x,y);

printf("sum=%d,sub=%d,multi=%d\n",x+y,x-y,x*y);

if (y!=0){

printf("dev=%.2f,mod=%d\n",(float)x/y,x%y);

}

else{

printf("the second operater is zero!\n");

} }

区域错误的提示信息:"Error in Area\n"

输入样例:

输出样例:

#include <>

#include <>

int main()

{

int area;

float weight,price,x1,x2;

scanf("%d,%f",&area,&weight);

if (weight<=1){

x1=;

}

else{

x1=;

x2=ceil(weight-1);

}

if (area>0&&area<=4){

switch(area){

case(0):price=x1*10+x2*3;break;

case(1):price=x1*10+x2*4;break;

case(2):price=x1*15+x2*5;break;

case(3):price=x1*15+x2*;break;

case(4):price=x1*15+x2*10;break;

}

printf("Price: %\n",price);

}

else {

printf("Error in Area\n");

printf("Price: \n");

}

return 0;

}

数据区间判断(5分)

题目内容:

从键盘输入一个int型的正整数n(已知:0

程序运行结果示例1:

Please enter the number:

2563↙

2563: 1000-9999

程序运行结果示例2:

Please enter the number:

156↙

156: 100-999

程序运行结果示例3:

Please enter the number:

36↙

36: 10-99

程序运行结果示例4:

Please enter the number:

3↙

3: 0-9

程序运行结果示例5:

Please enter the number:

10923↙

error!

输入格式:

"%d"

输出格式:

输入提示信息:"Please enter the number:\n"输出的区间判断:

"%d: 1000-9999\n"

"%d: 100-999\n"

"%d: 10-99\n"

"%d: 0-9\n"

输入错误提示信息:"error!\n"

输入样例:

输出样例:

#include<>

#include<>

int main()

{

int x;

printf("Please enter the number:\n");

scanf("%d",&x);

if (x>=1000&&x<=9999) printf("%d: 1000-9999\n",x);

else if (x>=0&&x<=9) printf("%d: 0-9\n",x);

else if (x>=10&&x<=99) printf("%d: 10-99\n",x);

else if (x>=100&&x<=999) printf("%d: 100-999\n",x);

else printf("error!\n");

return 0;

}

计算一元二次方程的根(3分)

题目内容:

根据下面给出的求根公式,计算并输出一元二次方程的两个实根,要求精确到小数点后4位。其中a,b,c 的值由用户从键盘输入。如果用户输入的系数不满足求实根的要求,输出错误提示"error!"。

程序运行结果示例1:

Please enter the coefficients a,b,c:

1,2,1↙

x1=, x2=

程序运行结果示例2:

Please enter the coefficients a,b,c:

2,6,1↙

x1=, x2=

程序运行结果示例3:

Please enter the coefficients a,b,c:

2,1,6↙

error!

输入格式:

"%f,%f,%f"

输出格式:

输入提示信息:"Please enter the coefficients a,b,c:\n"

输出格式:"x1=%, x2=%\n"

输入错误提示信息:"error!\n"

输入样例:

输出样例:

#include<>

#include<>

int main()

{

float a,b,c,x1,x2,m;

printf("Please enter the coefficients a,b,c:\n");

scanf("%f,%f,%f",&a,&b,&c);

m=b*b-4*a*c;

if (m<0){

printf("error!\n");

}

else{

x1=(-b+sqrt(m))/(2*a);

x2=(-b-sqrt(m))/(2*a);

printf("x1=%, x2=%\n",x1,x2);

}

return 0;

}

第五章

6位密码输入检测(3分)

题目内容:

从键盘输入6位仅由数字0~9组成的密码。用户每输入一个密码并按回车键后,程序给出判断:如果是数字,则原样输出该数字,并提示用户目前已经输入了几位密码,同时继续输入下一位密码;否则,程序提示"error",并让用户继续输入下一位密码。直到用户输入的密码全部是数字为止。

以下为程序的运行结果示例:

Input your password:

1↙

1, you have enter 1-bits number

6↙

6, you have enter 2-bits number

a↙

error

d↙

error

4↙

4, you have enter 3-bits number

6, you have enter 4-bits number

8↙

8, you have enter 5-bits number

2↙

2, you have enter 6-bits number

输入格式:

数字字符输入格式:"%c"

输出格式:

输入提示信息:"Input your password:\n"

如果输入的是数字,输出格式为:"%c, you have enter %d-bits number\n"

如果输入的不是数字,输出提示信息:"error\n"

输入样例:

输出样例:

#include <>

int main()

{

char a;

int i=0;

printf("Input your password:\n");

while(i<6)

{

scanf("%c",&a);

if (a>=48&&a<=57)

{

printf("%c, you have enter %d-bits number\n",a,++i);

}

else

printf("error\n");

getchar();

}

return 0;

}

判断一个整型数据有几位(4分)

题目内容:

从键盘输入一个整型数据(int型),编写程序判断该整数共有几位。例如,从键盘输入整数16644,该整数共有5位。

程序运行结果示例1:

Please enter the number:

21125↙

21125: 5 bits

程序运行结果示例2:

Please enter the number:

-12234↙

-12234: 5 bits

输入格式:

"%d"

输出格式:

输入提示信息:"Please enter the number:\n"

判断该整数共有几位:"%d: %d bits\n"

输入样例:

输出样例:

#include <>

int main(){

int x,y,n;

printf("Please enter the number:\n");

scanf("%d",&x);

n=x;

for(y=1;x/=10;y++);

printf("%d: %d bits\n",n,y);

return 0;

}

检测输入数据中奇数和偶数的个数(4分)

题目内容:

从键盘输入一系列正整数,输入-1表示输入结束(-1本身不是输入的数据)。编写程序判断输入数据中奇数和偶数的个数。如果用户输入的第一个数据就是-1,则程序输出"over!"。否则。用户每输入一个数据,输出该数据是奇数还是偶数,直到用户输入-1为止,分别统计用户输入数据中奇数和偶数的个数。

程序运行结果示例1:

Please enter the number:

1↙

1:odd

5↙

5:odd

8↙

8:even

9↙

9:odd

12↙

12:even

17↙

17:odd

-1↙

The total number of odd is 4

The total number of even is 2

程序运行结果示例2:

Please enter the number:

-1↙

over!

The total number of odd is 0

The total number of even is 0

输入格式:

"%d"

输出格式:

输入提示信息:"Please enter the number:\n"

用户输入的第一个数据就是-1,输出格式:"over!\n"

奇数的输出格式:"%d:odd\n"

偶数的输出格式:"%d:even\n"

输入数据中奇数的个数统计:"The total number of odd is %d\n"

输入数据中偶数的个数统计:"The total number of even is %d\n"输入样例:

输出样例:

#include <>

int main(){

int s,odd=0,even=0;

printf("Please enter the number:\n");

do{

scanf("%d",&s);

if (s==-1&&odd==0&&even==0) printf("over!\n");

else if( s%2!=0 &&s!=-1) {printf("%d:odd\n",s);odd++;} else if (s%2==0){printf("%d:even\n",s);even++;}

else even+=0;

}while (s!=-1);

printf("The total number of odd is %d\n",odd);

printf("The total number of even is %d\n",even);

return 0;

}

计算球的反弹高度(4分)

题目内容:

一个球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下并反弹......,求它在第5次和第10次落地时,分别共经过了多少米第5次和第10次反弹分别是多高要求计算结果保留到小数点后3位。用户从键盘输入想要计算的第n次(n<=15)。

程序运行结果示例1:

input:

5↙

5 times:

程序运行结果示例2:

input:

10↙

10 times:

输入格式:

"%d"

输出格式:

反弹次数:"%d times:\n"

第n次反弹共经过多少米:"%.3f\n"

第n次的反弹高度:"%.3f\n"

输入提示信息:"input:\n"

输入样例:

输出样例:

#include <>

int main(){

int time,i;

float each=0,sum=0,h=100;

printf("input:\n");

scanf("%d",&time);

for (i=0;i

sum+=h;

h/=2;

each=h;

sum+=each;

}

printf("%d times:\n",time);

printf("%.3f\n",sum-each);

printf("%.3f\n",each);

return 0;

}

第六章

程序改错(5分)

下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。

1.#include<>

2.intmain()

3.{

4.intscore;

5.chargrade;

6.printf("Pleaseinputscore:");

7.scanf("%d",&score);

8.if(score<0||score>100)

9.printf("Inputerror!\n");

10.elseif(score>=90)

11.grade='A’;

12.elseif(score>=80)

13.grade='B';

14.elseif(score>=70)

15.grade='C';

16.elseif(score>=60)

17.grade='D';

18.else

19.grade='E';

20.printf("grade:%c\n",grade);

21.return0;

22.}

程序运行结果示例1:

Please input score:

a↙

Input error!

Please input score:

-12↙

Input error!

Please input score:

230↙

Input error!

Please input score:

92↙

grade: A

程序运行结果示例2:

Please input score:

88↙

grade: B

程序运行结果示例3:

Please input score:

73↙

grade: C

程序运行结果示例4:

Please input score:

65↙

grade: D

程序运行结果示例5:

Please input score:

27↙

grade: E

输入格式:

"%d"

输出格式:

输入提示信息:"Please input score:\n"

输入错误提示信息:"Input error!\n"

输出格式:"grade: %c\n" (注意:%c前面有一个空格)

输入样例:

输出样例:

#include<>

int main()

{

int score,m=0;

char grade;

printf("Please input score:\n");

do{

m=scanf("%d", &score);

getchar();

if (m!=1 ||score < 0 || score > 100)

{ printf("Input error!\nPlease input score:\n");m=0;}

}while (m==0);

if (score >= 90)

grade = 'A';

else if (score >= 80)

grade = 'B';

else if (score >= 70)

grade = 'C';

else if (score >= 60)

grade = 'D';

else

grade = 'E';

printf("grade: %c\n", grade);

return 0;

}

编程计算a+aa+aaa+…+aa…a(n个a)的值(4分)

题目内容:

编程计算a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。例如,当n=4,a=2,表示计算2+22+222+2222的值。

程序运行结果示例:

Input a,n:

2,4↙

sum=2468

输入格式:

《C语言程序设计》课后习题答案

第1章程序设计和C语言1 1.1什么是计算机程序1 1.2什么是计算机语言1 1.3C语言的发展及其特点3 1.4最简单的C语言程序5 1.4.1最简单的C语言程序举例6 1.4.2C语言程序的结构10 1.5运行C程序的步骤与方法12 1.6程序设计的任务14 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max

2.1什么是算法16 2.2简单的算法举例17 2.3算法的特性21 2.4怎样表示一个算法22 2.4.1用自然语言表示算法22 2.4.2用流程图表示算法22 2.4.3三种基本结构和改进的流程图26 2.4.4用N S流程图表示算法28 2.4.5用伪代码表示算法31 2.4.6用计算机语言表示算法32 2.5结构化程序设计方法34 习题36 第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例37 3.2数据的表现形式及其运算39 3.2.1常量和变量39 3.2.2数据类型42 3.2.3整型数据44 3.2.4字符型数据47 3.2.5浮点型数据49 3.2.6怎样确定常量的类型51 3.2.7运算符和表达式52 3.3C语句57 3.3.1C语句的作用和分类57 3.3.2最基本的语句——赋值语句59 3.4数据的输入输出65 3.4.1输入输出举例65 3.4.2有关数据输入输出的概念67

C语言课后习题答案(最终)

第0章习题 1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数: (1)128 (2)511 (3)1024 (4)65535 (5)1048575 答: (1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400 (4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF 2. 将下列二进制数转化为十进制数和十六进制数: (1)1100110101B (2)101101.1011B 答: (1)821、335 (2)45.6875、2D.B 3. 写出下列数的原码、反码、补码:15、-20、-27/32 答: (1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.0010100 4. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少? 答: 0~65535、-128~127、-32768~32767 5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。 答: 结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么? 答:

C语言课后习题答案(完整版)-第四版-_谭浩强

C语言课后习题答案-第四版- 谭浩强(1-7) 第一章 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } #include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max #include int main() {float p,r,n; r=0.1; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0; } #include #include int main()

{float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072; p1=p*((1+r5)*5); // 一次存5年期 p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度结算一次printf("p1=%f\n",p1); // 输出按第1方案得到的本息和 printf("p2=%f\n",p2); // 输出按第2方案得到的本息和 printf("p3=%f\n",p3); // 输出按第3方案得到的本息和 printf("p4=%f\n",p4); // 输出按第4方案得到的本息和 printf("p5=%f\n",p5); // 输出按第5方案得到的本息和 return 0; } #include #include int main() {double r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072; p1=p*((1+r5)*5); // 一次存5年期 p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度结算一次printf("p1=%f\n",p1); // 输出按第1方案得到的本息和 printf("p2=%f\n",p2); // 输出按第2方案得到的本息和 printf("p3=%f\n",p3); // 输出按第3方案得到的本息和 printf("p4=%f\n",p4); // 输出按第4方案得到的本息和 printf("p5=%f\n",p5); // 输出按第5方案得到的本息和

最新c语言课后习题答案汇总

c语言课后习题答案

第二章习题 2.什么叫做结构化算法?为什么要提倡结构化算法? 答:结构化算法是由一些基本结构顺序组成的。在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本的结构范围内。一个非结构化的算法可以用一个等价的结构化算法代替,其功能不变。 跟结构化算法比较起来,非结构化算法有以下缺点: 流程不受限制的随意转来转去,使流程图豪无规律使人在阅读的时候难以理解算法的逻辑.难以阅读,也难以修改,从而使算法的可靠性和可维护性难以保证。 4. 第三章习题 1.#include #include void main() { unsigned int n;

float p,p1,r=0.09; scanf("%u",&n); p=pow(1+r,n); p1=(p-1)*100; printf("%5.2f%%\n",p1); } 运行结果:输入,回车,见结果: 2.#include #include int main() { int bj=1000; float r1,r2,r3,r5,r0,lx1,lx2,lx3,lx4,lx5; r1=0.0414; r2=0.0468; r3=0.0540; r5=0.0585; r0=0.0072; lx1=bj*r5; lx2=bj*(1+r2)*r3; lx3=bj*(1+r3)*r2; lx4=bj*pow(1+r1,5); lx5=bj*r0*5; printf("lx1=%f lx2=%f lx3=%f lx4=%f lx=5%f\n",lx1,lx2,lx3,lx4,lx5); return 0; } 运行结果: 3.#include #include int main() { long d,p; d=300000; p=6000; double m,r=0.01; m=log(p/(p-d*r))/log(1+r); printf("%4.2f",m); return 0;

C语言课后习题答案

第1章C语言概述 一、选择题 答案: 1.A 2.B 3.C 4.C 5.D 6.B 7.D 8.B 二、填空题 答案: 1.函数2.目标3.编译程序4.分号 第2章数据类型、运算符和表达式 一、选择题 答案: 1.B 2.D 3.D 4.B 5.D 6.C 7.C 8.B 9.A 10.D 11.B 12.B 13.D 14.D 15.A 16.C 17.B 18.D 19.A 20.C 二、填空题 答案: 1.2 2.6,4,2 3.18 4.5 5.double或双精度 6.30 7.4,2 8.4 第3章顺序结构 一、选择题 答案: 1.C 2.C 3.C 4.A 5.A 6.A 7.D 8.D 9.C 10.D 二、填空题 答案: 1.scanf printf 2.顺序、选择、循环3.1 4.3 5.9,10 6.10,20 7.213 8.空格、Tab键、回车键 第4章选择结构 一、选择题 答案: 1.B 2.D 3.D 4.B 5.B 6.C 7.C 8.B 9.B 二、程序改错题 1.输入两个实数,在fun()函数中按数值由小到大输出它们。(保留2位小数)

答案: =======(答案1)======= float t; =======(答案2)======= if(a>b) =======(答案3)======= printf("%5.2f, %5.2f\n",a,b); 2.编写一个程序计算某年某月有几天。(注意要区分闰年) 答案: =======(答案1)======= switch(mm) =======(答案2)======= break; =======(答案3)======= default : 三、程序填空题 1.功能:输出a、b、c三个变量中的最小值。 答案: =======(答案1)======= &c =======(答案2)======= c:t1 四、程序设计题 1.功能:对任意输入的x,用下式计算并输出y 的值。说明:因为关于函数调用的知识在第7章讲解,所以在现阶段本程序的设计可以改用一个主函数来完成。 答案: int m; if(n<10) m=5; else if(n==10) m=0; else m=-5; return m; 或 int m; if(n>=10) if(n>10) m=-5; else m=0; else m=5; return m; 第5章循环结构 一、选择题

C语言课后习题标准答案

C语言课后习题标准答案 第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<b 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

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

高等院校计算机基础教育规划教材《C++程序设计》课后习题参考答案 ――武汉大学出版社 习题1参考答案 一、选择题 1. A 2. D 二、填空题 1. BASIC、FORTRAN、AL_GOL60和COBOL 2. 8 3. 关键字 4. 编辑、编译、链接和运行 三、简答题 1.答: (1)C语言具有结构化的控制语句。C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。 (2)C语言具有丰富的数据结构类型。C语言除提供整型、实型、字符型等基本数据类型外,还提供了用基本数据类型构造出的各种复杂的数据结构,如数组、结构、联合等。C语言还提供了与地址密切相关的指针类型。此外,用户还可以根据需要自定义数据类型。(3)C语言具有丰富的运算符。C语言提供了多达34种运算符,丰富的数据类型与丰富的运算符相结合,使C语言的表达力更具灵活性,同时也提高了执行效率。 (4)C语言简洁、紧凑,使用方便、灵活,程序书写自由,有9种控制语句。 (5)C语言既具有高级语言的功能,又具有低级语言的许多功能,通常被称为中级计算机语言。它既是成功的系统描述语言,又是通用的程序设计语言。 (6)C语言与汇编语言相比,可移植性好。 (7)功能强大。C语言具有低级语言的一些功能,所以,生成目标代码质量高,程序执行效率高。现在许多系统软件都用C语言来描述,可以大大提高了编程效率。 2.答:运行一个C语言程序,一般需要经过如下几个步骤:①上机输入并编辑源程序;②编译源程序;③与库函数连接;④生成可执行目标程序;⑤运行目标程序。 3.答: (1)操作系统的设计与实现。C语言是一种应用非常广泛的结构化高级程序设计语言,既适合编写应用软件,又适合编写系统软件。

最新C语言课后习题答案汇总

C语言课后习题答案

C语言课后习题答案-第四版- 第一章 5、请参照本章例题,编写一个C语言程序,输出以下信息:**************************** V e r y G o o d ! **************************** #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 6、编写一个C语言程序,输入a,b,c三个值,输出其中最大值。 #include int main() { int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d%d%d",&a,&b,&c);

max=a; if (max int main() { int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d%d%d",&a,&b,&c); max=a>b?a:b; max=max>c?max:c; printf("The largest number is %d\n",max); return 0; }

数据结构(c语言版)课后习题答案完整版

第1章绪论 5.选择题:CCBDCA 6.试分析下面各程序段的时间复杂度。 (1)O(1) (2)O(m*n) (3)O(n2) (4)O(log3n) (5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2) (6)O(n) 第2章线性表 1.选择题 babadbcabdcddac 2.算法设计题 (6)设计一个算法,通过一趟遍历在单链表中确定值最大的结点。 ElemType Max (LinkList L ){ if(L->next==NULL) return NULL; pmax=L->next; //假定第一个结点中数据具有最大值 p=L->next->next; while(p != NULL ){//如果下一个结点存在 if(p->data > pmax->data) pmax=p; p=p->next; } return pmax->data; (7)设计一个算法,通过遍历一趟,将链表中所有结点的链接方向逆转,仍利用原表的存储空间。 void inverse(LinkList &L) { // 逆置带头结点的单链表 L p=L->next; L->next=NULL; while ( p) { q=p->next; // q指向*p的后继 p->next=L->next; L->next=p; // *p插入在头结点之后 p = q; }

} (10)已知长度为n的线性表A采用顺序存储结构,请写一时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法删除线性表中所有值为item的数据元素。 [题目分析] 在顺序存储的线性表上删除元素,通常要涉及到一系列元素的移动(删第i个元素,第i+1至第n个元素要依次前移)。本题要求删除线性表中所有值为item的数据元素,并未要求元素间的相对位置不变。因此可以考虑设头尾两个指针(i=1,j=n),从两端向中间移动,凡遇到值item的数据元素时,直接将右端元素左移至值为item的数据元素位置。 void Delete(ElemType A[ ],int n) ∥A是有n个元素的一维数组,本算法删除A中所有值为item的元素。 {i=1;j=n;∥设置数组低、高端指针(下标)。 while(i

大一C语言课后习题答案

习题一 一、填空题 1.主函数/main、主函数/main、主函数/main 2.声明部分、执行部分 3.源程序 4.由一个或多个函数 5.最前面 6./*和*/ 二、选择题 1.C 2.B 3.A 4.C 5.C 6.C 7.A 8.B 9.B 10.B 习题二 一、填空题 1.scanf和printf函数 2.标识符 3.字母、数字、下划线、字母、下划线 4.十进制、八进制、十六进制 5.单撇号 6.32 7.18,14,a 8.123、45.0 9.67,G 10.10300 11.25 21 37 12.n1=%d\nn2=%d\n 二、选择题 1.A 2.D 3.C 4.C 5.C 6.B 7.A 8.D 9.A 10.D 11.D 12.C 13.A 14.C 习题三 一、填空题 1.0,非0 2.else 总是与它前面最近的、等待与else配对的if配对 3.将下列条件写成C语言的逻辑表达式: (1)x<0&&y!=0 (2)x%3==0&&x%7==0

(3)a<0||b<0||c<0 (4)x>0 && x<=10 (5)ch>=’a’ && ch<=’z’ || ch>=’A’ && ch<=’Z’ 4. 2 1 5.5 4 6. -4 二、选择题 1.B 2.C 3.B 4.A 5.B 6.C 7.8.D 9.D 10.A 11.C 12.B 习题四 一、填空题 1.10 2.36 3.3 4.死、0 5.6 6.2*i – 1、printf("\n") 7.100 – i*5 –j*2、k>=0 8.4321 9.2.400000 10.*#*#*#$ 二、选择题 1.C 2.A 3.C 4.都不对(b值为8)5.B 6.C 7.C 8.C 9.C 10.D 11.A 12.B 13.D 14.B 15.C 16.D 17.D 18.C 19.B 20.A 习题五 一、填空题 1.变量 2.54,102,171 3.scanf("%f%f%f",&a,&b,&c); 4.0 5.A:1 2 B:18 11 , 8

C语言程序设计课后习题参考答案

. 高等院校计算机基础教育规划教材《C++程序设计》课后习题参考答案 ――武汉大学出版社 习题1参考答案 一、选择题 1. A 2. D 二、填空题 1. BASIC、FORTRAN、AL_GOL60和COBOL 2. 8 3. 关键字 4. 编辑、编译、链接和运行 三、简答题 1.答: (1)C语言具有结构化的控制语句。C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。 (2)C语言具有丰富的数据结构类型。C语言除提供整型、实型、字符型等基本数据类型外,还提供了用基本数据类型构造出的各种复杂的数据结构,如数组、结构、联合等。C语言还提供了与地址密切相关的指针类型。此外,用户还可以根据需要自定义数据类型。 (3)C语言具有丰富的运算符。C语言提供了多达34种运算符,丰富的数据类型与丰富的运算符相结合,使C语言的表达力更具灵活性,同时也提高了执行效率。 (4)C语言简洁、紧凑,使用方便、灵活,程序书写自由,有9种控制语句。 (5)C语言既具有高级语言的功能,又具有低级语言的许多功能,通常被称为中级计算机语言。它既是成功的系统描述语言,又是通用的程序设计语言。 (6)C语言与汇编语言相比,可移植性好。 (7)功能强大。C语言具有低级语言的一些功能,所以,生成目标代码质量高,程序执行效率高。现在许多系统软件都用C语言来描述,可以大大提高了编程效率。 2.答:运行一个C语言程序,一般需要经过如下几个步骤:①上机输入并编辑源程序;②编译源程序;③与库函数连接;④生成可执行目标程序;⑤运行目标程序。 3.答: (1)操作系统的设计与实现。C语言是一种应用非常广泛的结构化高级程序设计语言,既适合编写应用软件,又适合编写系统软件。 ..

大学C语言课本课后习题相应答案及详细解答

5-1 #include"stdio.h" void main() { char c1,c2; printf("c1:"); c1=getchar(); if(c1>='a'&&c1<='z') c2=c1-32; else if(c1>='A'&&c1<='Z') c2=c1+32; else c2=c1; printf("=>%c\n",c2); } 5-2 #include"stdio.h" void main() { char c; printf("c:"); c=getchar(); if(c>='A'&&c<='Z') if(c=='A') printf("没有前面的字母!"); else if(c=='Z') printf("没有后面的字母!!"); else printf("前面的字母=%c,后面的字母=%c",c-1,c+1); printf("\n"); } 5-3 #include"stdio.h" void main() { int s; char g; printf("s:"); scanf("%d",&s); if(s>=0&&s<=100){ switch(s/10){ case 9: case 10: g='A';break; case 8: g='B';break; case 7: g='C';break; case 6: g='D';break; default: g='E'; } printf("g=%c\n",g); } else printf("成绩不在百分制范围内!\n"); }

5-4 #include"stdio.h" void main() { int y,m,d,dok; int yy,mm,dd; printf("y,m,d:"); scanf("%d,%d,%d",&y,&m,&d); switch(m){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(d>0&&d<=31) dok=4; else dok=0; break; case 4: case 6: case 9: case 11: if(d>0&&d<=30) dok=3; else dok=0; break; case 2: if(y%4==0&&y%100!=0||y%400==0) if(d>0&&d<=29) dok=2; else dok=0; else if(d>0&&d<=28) dok=1; else dok=0; break; default: dok=0; } if(dok==0) printf("月份或日期不对!\n"); else{ switch(dok){ case 1: if(d==28){yy=y;dd=1;mm=m+1;} else{yy=y;dd=d+1;mm=m;} break; case 2:if(d==29){yy=y;dd=1;mm=m+1;} else{yy=y;dd=d+1;mm=m;} break; case 3:if(d==30){yy=y;dd=1;mm=m+1;} else{yy=y;dd=d+1;mm=m;} break; case 4:if(d==31) if(m==12){yy=y+1;dd=1;mm=1;} else {yy=y;dd=1;mm=m+1;} else{yy=y;dd=d+1;mm=m;} break; } printf("Tomorrow:%d年%d月%d日\n",yy,mm,dd); } } 5-5 #include"stdio.h" void main() { int a,b,c,t; printf("a,b,c:"); scanf("%d,%d,%d",&a,&b,&c); if(a+b>c&&b+c>a&&a+c>b){ if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(b>c){t=b;b=c;c=t;} if(a==b&&b==c) printf("等边三角形."); else if(a==b||b==c||a==c) printf("等腰角形."); else if(c*c==a*a+b*b) printf("直角三角形."); else printf("任意三角形."); printf("\n"); } else printf("不能构成三角形!\n"); }

C语言课后习题答案

《C语言程序设计》复习题 第1章C语言程序设计概述 一、选择题 1.下列关于计算机语言的叙述中,正确的是___C____。 A.在计算机语言中,只有机器语言属于低级语言 B.高级语言的源程序可以被计算机直接执行 C.C语言属于高级语言 D.机器语言是与所有机器无关的语言 2.源程序TEST.C经编译产生的目标文件和连接后产生的可执行文件是___B____。 A.TEST.BAK和TEST.OBJ B.TEST.OBJ和TEST.EXE C.TEST.EXE 和TEST.C D.TEST.BAK和TEST.EXE 3.一个C程序的执行是从___A____。 A.本程序的main函数开始,到main函数结束 B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序文件的第一个函数开始,到本程序main函数结束 4.以下叙述正确的是___C____。 A.在C程序中,main函数必须位于程序的最前面 B.程序的每行中只能写一条语句 C.C语言本身没有输入输出语句 D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误 5.以下叙述不正确的是___C____。 A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数 C.在C程序中,注释说明只能位于一条语句的后面 D.C程序的基本组成单位是函数 6.一个C语言程序是由___B____。 A.一个主程序和若干子程序组成 B.函数组成 C.若干过程组成 D.若干子程序组成 7.关于C语言程序书写规则说法中正确的是___D____。 A.程序语句必须占一行B.不区分大小写 C.每行必须有行号D.每条语句用分号结束 8.下面关于算法的说法,错误的是___B____。 A.算法必须有输出,但不一定有输入 B.算法必须在计算机上用某种语言实现 C.算法必须在有限步执行后能结束 D.算法的每一步骤必须有确切的定义 9.结构化程序设计规定的3种基本控制结构是___D____。 A.顺序、选择和转向B.层次、网状和循环 C.模块、选择和循环D.顺序、选择和循环 10.结构化程序由三种基本结构组成,三种基本结构组成的算法___A____。 A.可以完成任何复杂的任务B.只能完成部分复杂的任务 C.只能完成符合结构化的任务D.只能完成一些简单的任务

C语言程序设计教程课后习题答案

第1章 1-3 CAB 4 .c .obj .exe 5 /* */ 6 ; 7 算法 8 ①中级语言:C语言具有高级语言的先进思想又能直接对存储器进行操作,能进行位运算,能实现汇编语言的大部分功能,生成目标代码质量高,程序执行效率高。 ②结构化语言:C语言用函数作为程序模块,以实现程序的模块化,语言简洁、紧凑,具有结构化的特点。 ③可移植性好:C语言不包含依赖硬件的输入输出机制,使C语言本身不依赖于硬件系统,可移植性好。 9 #include<> main( ) { ; } 10 #include “” main() { printf(“This is my first C Program!”); } 第2章 1.yes 2.-3 3.2,1 4.1)a!=b||a<=c 2)x>=4||x<=-4 5.x>20&&x<30||x<-100 6.#include <> main() { int x; printf(“please input an integar:”); scanf("%d",&x); if(x%5==0&&x%7==0) printf("yes\n"); else printf("no\n"); } 7. #include <> main() { int year,month; printf("please input the year and month:"); scanf("%d%d",&year,&month);

switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:printf("this month have 31 days."); break; case 4: case 6: case 9: case 11:printf("this month have 30 days."); break; case 2:if(year%4==0&&year%100!=0||year%400==0) { printf("this month have 29 days."); break; } else { printf("this month have 28 days."); break; } } } 8. #include <> main() { float money; int year; printf("\nplease input the money and the year:"); scanf("%f%d",&money,&year); if(year==1) money+=money**12*year; if(year==2) money+=money**12*year; if(year==3||year==4) money+=money**12*year; if(year>=5&&year<=7) money+=money**12*year; if(year>=8) money+=money**12*year; printf("the money is:%f",money); } 第3章

C语言程序设计(第2版)-- 课后题答案

《C语言程序设计能力教程(第二版)》课后作业及实训题 参考答案 第1章进入C语言程序世界 二、 1. I love China! printf("we are students.\n") 2. 6 项目实训题参考答案 1.编写一个C程序,输出以下信息: * * * * * * * * * * * * * * * * * * * * I am a student! * * * * * * * * * * * * * * * * * * * * main() { printf("********************\n"); printf(" I am a student!\n "); printf("********************\n"); } 2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。 解: main() { int a,b,c,v; a=10; b=20; c=15; v=a*b*c; printf("v=%d",v); } 本程序运行结果为: v=3000 第2章编制C程序的基础知识 一选择题 C B A B A C C 二操作题

,2,-8,2 3.000000,2.500000,-8.000000 2. ABC DE FGH why is 21+35 equal 52 3. 3 1 4 3 2 3 1 2 4. aa bb cc abc A N 项目实训题 1.定义一个符号常量M为5和一个变量n值为2,把它们的乘积输出。 #define M 5 main() { int n,c; n=2; c=M*n; printf("%d\n",c); } 2.编程求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4,设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)main() { int a=7; float x=2.5,y=4.7; printf("%f\n",x+a%3*(int)(x+y)%2/4); } (2)main() { int a=2,b=3; float x=3.5,y=2.5; printf("%f\n",(float)(a+b)/2+(int)x%(int)y); } 第三章顺序结构程序设计 一选择题 A C D C C 二操作题 1. x=3,a=2,b=3 2. z=12.700000

C语言课后题编程答案

C语言课后题编程答案 所有章节的课后习题的选择题和填空题大家必须熟练掌握,编程题掌握到第九章即可。希望大家通过课后的编程题熟悉典型的编程算法,掌握基本的编程思路,注意编程细节。 第3章 3-17 编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。 #include main() {int h,m; h=560/60; m=560%60; printf(“560分钟可转换成%d小时%d分钟” ,h,m); } 程序总结: (1)只要在程序中用到系统提供的库函数,必须把库函数所在的头文件用#include命令包含进来。否则库函数的使用无效。输入输出库函数的头文件是:stdio.h;数学函数的头文件是:math.h;字符处理函数的头文件是:ctype.h;字符串处理函数的头文件是:string.h。(2)注意C语言中的“/”和“%”两种运算符。“/”的运算结果取决于两操作数的类型。比如:1/2=0(与数学中不同,结果与操作数的类型一致,所以结果只取商值), 1.0/2=0.5(除之前2要自动类型

转换成 2.0,因为只有同类型的操作数才能进行除运算), 1/2.0=0.5, 1.0/2.0=0.5。“%”的两个操作数都必须是整数。 (3)printf(“560分钟可转换成%d小时%d分钟”,h,m); printf第一个参数要尽量详细,这样可以提高输出结果的可读性,恰当好处的添加提示性信息,可以提高程序的质量。 (4)int h,m;变量起名要有艺术性,尽量做到见名知意。 3-18 编写程序,输入两个整数,1500和350,求出它们的商和余数并进行输出。 #include main() {int a,b,m,n; printf(“请输入两个整数:\n”); scanf(“%d%d”,&a,&b); m=a/b; n=a%b; printf(“%d除以%d商%d余%d” ,a,b,m,n); } 程序总结: (1) printf(“请输入两个整数:\n”);这是一个提示信息,避免用户在看到黑屏后不知所措。 (2)scanf(“%d%d”,&a,&b); scanf的功能是用户要通过键盘输入数据,赋值给各输入项。注意每个输入项前面必须要加&符号。%d与

C语言课后习题答案

1.求2~1000中的守形数(若某数的平方,其低位与该数本身相同,则称该数为守形数。 例如25,25的平方=625,625的低位25与原数相同,则25称为守形数。 #i nclude void mai n() { int i=2, n,c; c=0; printf(”守形数有:"); while(i<1001) { n=i*i; if(n %10==i) { prin tf("%5d",i); c++; } else if(n %100==i) { prin tf("%5d",i); c++; } else if(n %1000==i) { prin tf("%5d",i); } else (n %1000!=i &&n %100!=i&&n %10!=i); { i++; } } } 3.求Sn=a+aa+aaa+…+aa…a之值,其中a代表1~9中的一个数字。例如:a代表2,则求2+22+222+2222+22222 (此时n=5), a 和n 由#in clude void mai n() { int a,b, n,i=1,sum=0; sea nf("%d%d",&a,&n); 2.输入两个正数m和n,求其最大公约数和最小公倍数。 #in clude void mai n() { int m,n,r,s,numl,num2; printf(" 两个正整 数:"); scan f("%d%d",&m,&n); nu m仁m,num2=n; while( nu m2!=0) { r=nu ml% nu m2; nu m仁nu m2; nu m2=r; s=m* n/nu ml; } printf("最大公因子是:%d",numl); printf(" 最小公倍数是:%d",s); } 4.从键盘输入一个正整数n,计算该数的各位 数之和并输出。例如,输入数是52446,则计算:5+2+4+6=17并输出。 #in clude void mai n() { int a,n, sum=0; scan f("%d",&a); while(a!=0) { n=a%10; sum+=n; a=a/10; } printf(" 各位数之和为:%d",sum); } 第四章练习题:

C语言课后习题答案

C语言习题答案 第1章绪论 习题 1.4 main() { printf(″One- - - - - -Good!\n″); Printf(″Two- - - - - -Very Good!\n″); } 1.5 main( ) { int a,b; a=2,b=3; printf(″a+b=%d\n″,a+b); /*printf(″a=%d,b=%d\n″,a,b);*/ } 1.6 main( ) { printf("* * * * * * * * * * * * * * * * * * * *\n"); printf("\n"); printf(" Hello World!\n"); printf("\n"); printf("* * * * * * * * * * * * * * * * * * * *\n"); } 第2章基本的数据类型、运算符与表达式 习题 2.5 n! No. N -1 0_1 2.6 (1)9)0784)0x23.5 (2)12)0x1234 (3)10)1.234e3 2.7 2,3,2,3,-1 2.10 (1)2.5 (2)3.2 2.12 9,11,9,10 2.13 (1)24 (2)10 (3)60 (4)0 (5)0 (6)0

aa?bb???cc??????abc A?N 2.15 #define PI 3.14159; main( ) { int a=5,b=5,c=5,d; char ch=′a′; float num,pi; d=a+1; a=b-1; if((num=PI)>3) pi=2*num*c; printf(“圆周长为%f\n”,pi); } 第3章最简单的C程序设计----顺序程序设计 习题 3.7 main( ) { float k; scanf(″%f″,&k); printf(″k=%4.2f\n″,k); } 3.8 main( ) { int a,b,e;char c,d; float e,f; scanf(″%5d%6d %c%c%*f%d, %f″,&a,&b,&c,&d,&e,&f); printf(″a=%d,b=%d,c=\′%c,d=%c,e=%f,f=%f\n″,a,b,c,d,e,f); } 3.9 57 5 7 67.856400,-789.124023 67.856400 ,-789.124023 67.86, -789.12,67.856400,-789.124023,67.856400,-789.124023 6.785640e+01, - 7.89e+02 A,65,101,41 1234567,4553207,d687 65535,177777,ffff,-1 COMPUTER, COM

相关文档
相关文档 最新文档