C 语言程序设计习题参考答案_第1页
C 语言程序设计习题参考答案_第2页
C 语言程序设计习题参考答案_第3页
C 语言程序设计习题参考答案_第4页
C 语言程序设计习题参考答案_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

习题1

一、判断题

3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。

4.在整数的二进制表示方法中,0的原码、反码都有两种形式。

原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数

该位为1(0有两种表示:+0和-0),其余位表示数值的大小。

反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符

号位除外。

补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

5.有符号数有三种表示法:原码、反码和补码。

6.常用字符的ASCH码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、

小写英文字母。

解:1.F2.T3.T4.T5.T6.T

二、单选题

1.在计算机中,最适合进行数值加减运算的数值编码是。

A.原码B.反码C.补码D.移码

4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是。

A.XAY=10()0B.XVY=1111C.X®Y=0011D.Y=1(X)0

6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。

A.生成可执行文件B.生成目标文件

656

7.下列叙述中不正确的是()。

A.main函数在C程序中必须有且只有一个

B.C程序的执行从main函数开始,所以main函数必须放在程序最前面

C.函数可以带参数,也可以不带参数。

D.每个函数执行时,按函数体中语句的先后次序,依次执行每条语句

解:1.C2.C3.D4.B5.B6.B7.B

三、填空题

1.(87.625)io=()2=()8=()16

2.(1001010111001.10111)2=()8=()16=()io

3.输入三个数,计算并输出三个数的和与三个数的乘积。

程序如下:

♦include<stdio.h>

voidmain()

{

inta,b,c,s,z;

printf("Pleaseinputabc:\n");

s=a+b+c;

n

printf(%d\n"zs);

*4.输入三角形三条边的边长,计算并输出三角形的面积。

根据三条边的边长,计算三角形面积的公式如下:

面积=Js(s-x)(s-y)(s-z)(其中§=,+;十,

程序如下:

#include<stdio.h>

#include<math.h>

voidmain()

{

doublex,yzz,s,dime;

nn

scanf(%lf%lf%lfz&x,&y,&z);

dime=sqrt(s*(s-x)*(s-y)*(s-z));

}

解:1.1010111.101127.557.A

2.11271.5612B9.B84793.71875

3.scanf(n%f%f%f',&a,&b,&c);z=a*b*c;printfz);

4.s=(x+y+2)/2;printfdim);

四、编程题

1.仿照例1.1,编程序在屏幕上显示:

*★★**★******************★★★★★

MerryChristmas!

HappyNewYear!

解:#include<stdio.h>

voidmain()

{printf(〃*****************************\n");

printfCMerryChristmas!\nz,);

printfCHappyNewYear!\nz,);

printf(〃*****************************\n");

)

2.仿照例1.2编程,输入一个整数,计算这个数的平方。

解:#include<stdio.h>

voidmain()

{inta,z;

printf(〃请输入一个整数:\n〃);

scanf("%d",&a);

z=a*a;

1

printf(〃%d*%d=%d\n〃,a,a,z);

)

*3.仿照例1.3编程,输入两个数后,输出其中较小值。

解:#include<stdio.h>

floatmin(floatx,floaty)

{floatm;

if(x<y)m=x;

elsem=y;

returnm;

)

voidmain()

{floata,b,c,mindata;

printf(〃请输入二个数:\n〃);

scanf(〃%f%f&a,&b);

mindata=min(a,b);

printf(〃较小数:%f\n〃,mindata);

)

*4.仿照例1.2编程,输入〃、b后,输出一元一次方程以+〃=0的解。

解:#include<stdio.h>

voidmain()

{floata,b,x;

printf(〃请输入a、b:\n,z);

scanfC%f%f”,&a,&b);

x=-a/b;

printf(/zx=%f\nz,,x);

)

*5.仿照例1.2编程,输入圆柱体的半径和高,计算并输出圆柱体的体积。

解:#include<stdio.h>

voidmain()

{floatr,h,s,v;

printfC?Pleaseinputrandh:\rT);

scanf(〃%f%f”,&r,&h);

v=3.14*r*r*h;

printfCV=%f\nz,,v);

)

习题2

一、判断题

1.任何变量都必须要定义其类型。

2.C语言的double类型数据在其数值范围内可以表示任何实数。

3.C语言的任何类型数据在计算机内都是以二进制形式存储的。

4.isdigit(5)的结果为0。

5.printf函数中格式符“%c”对应的参数只能是字符类型。

2

6.按格式符“%d”输出float类型变量时,截断小数位取整后输出。

7.在C语言程序中,ABC与abc是两个相同的变量。

8.scanf函数中的格式符“%d”不能用于输入实型数据。

9.格式符“%f”不能用于输入double类型数据。

10.当格式符中指定宽度时,输出的信息完全取决于所指定的宽度。

解:⑴T(2)F(3)T(4)F(5)F(6)F(7)F(8)T(9)T(10)F

二、指出下列各项中哪些是C语言中的常量,并指出其类型

10,150007-0x3dJileOelo7o8

‘x''xo'1.52e0.5sin(3)Oxfl6,a''\009'

1.414E+22.54'a'+2OxlOOh012810L

解:合法的C常量有:

整型常量:007-0x3dOxfl610L

实型常量:leO1.414E+2

字符型常量:'X,'\a'

三、指出下列各项中哪些是C语言中的用户标识符

X_1X_2HighprintfB3DSi/j

e2-e2countIntnumber$23next_

sizeofIFsum_12_123#NO1:doublefor

解:c的用户标识符有:X_1X_2Highe2countIntnumber

next_IFsum_12

四、单项选择题

1.C语言中,char型数据在内存中的存储形式是()o

A.原码B.反码C.补码D.ASCH码

2.若有定义语句“charc='\72,;”则变量c()。

A.包含1个字符B.包含2个字符C.包含3个字符D.定义不合法

3.C语言中的基本数据类型包括()。

A.整型、实型、逻辑型B.整型、实型、字符型

C.整型、逻辑型、字符型D.整型、实型、逻辑型、字符型

4.设cl、c2为字符型变量,执行语句"cl=getchar();c2=getchar();”时,从键盘输

入A/,cl和c2的值分别为()。

A.都是'A'B.cl是'A',c2未输入

C.cl未输入,c2是'A'D.cl是'A',c2是‘\n'

5.a、b是整型变量,执行语句“scanf("a=%d,b=%d",&a,&b);",使a和b的值分

别为I和2,正确的输入是()。

A.12B.1,2C.a=l,b=2D.a=lb=2

6.设c为字符型变量值为‘A',a为整型变量值为97,执行语句“putchar(c);putchar(a);”

后,输出结果为()o

A.AaB.A97C.A9D.aA

7.已知字母A的ASCH码值为65,以下语句段的输出结果是()。

charcl='A',c2='Y1;printf("%d,%d\n",cl,c2);

A.输出格式非法,输出错误信息B.65,90

3

C.A,YD.65,89

8.若要使用输入语句“scanf("%4d%4d%10『,&i,&j,&x);",为i输入一10,为j

输入12,为x输入345.67,则正确的输入形式是()。

A.-1012345.67/B.-1012345.67/

C.-10001200345.67/D.-10,12,345.67/

9.能正确地定义符号常量的是()。

A.#definen=10B.#definen10C.#definen10;D.#DEFINEN10

10.在C语言中,int、char、short三种类型数据在内存中所占的字节数()。

A.由用户自己定义B.均为2个字节C.是任意的D.由机器字长决定

解:⑴D(2)A(3)B(4)D(5)C(6)A(7)D(8)B(9)B(10)D

五、填空题

1.charch='$';floatx=l53.4523;

语句“printf("%c%-8.2f\\n”,ch,x);”的输出结果是。

解:$153.45\n

2.inti=123;floatx=-1234.56789;

语句“printf("i=%5dx=%7.3f\n",i,x);”的输出结果是。

解:i=123x=-1234.568

3.charc='a';inta=65;

语句"putchar(c+l);putchar(a);”的输出结果是。

解:bA

4.inta=98;

语句“printf("%d,%c,%o,%x”,a,a+l,a+2,a+3);”的输出结果是。

解:98,c,144,65

5.intk;floatf;

语句“scanf("%3d%*4d%6F',&k,&f);”执行时输入12345678765.43/

贝!1k=,f=o

解:k=123f=8765.4

6.使用pow()函数时,程序的开头必须写一条预处理命令:。

解:^include<math.h>

5.填空题。

(1)inti=123,j=45;

函数printf(/z%d,%d\n”,i,j);的输出结果是。

解:123,45

(2)inti=123;floatx=-45.678;

语句printf(zzi=%5dx=%7.4f\n”,i,x);的输出结果是。

解:i=123x=-45.6780

(3)floatalfa=60,pi=3

习题3

一、根据下列数学式,写出c的算术表达式。

4

—ab+c+d

-(a2+Z73)xy4।°-J|sin(x)|35x6-e52

c+d

tan-x+a+2b—

cd

解:-(£+b‘)Xy’的C表达式:-(a*a+b*b)*pow(y,4)

拒:1°一的c表达式:(sqrt(2)+10*10)/(pow(tan(x),-1)+3.141593)

tanX+TT

sin(x)的C表达式:sqrt(pow(fabs(sin(x)),3.5))

x6—e5的C表达式:pow(x,6)-exp(5)

1,」

—+c+d

工-----------的C表达式:(1.0/2*a*b+c+d)/(a+2*b-(c+d)/c/d)

二、按照要求,写出下列C的表达式。

1.写出int类型变量x为“奇数”的表达式。

解:x%2==l

2.Int类型变量x、y、z,写出描述“x或y中有且仅有一个小于z”的表达式。

解:x<z&&y>=z||x>=z&&y<z

3,将double类型变量y保留四位小数的表达式。

解:(int)(y*10000+0.5)/10000.0

4.为变量s赋值:取变量x的符号,取变量y的绝对值。

解:s=(x>=0?1:-D*(y>=0?y:-y)

5.条件“-5WxW3”所对应的C逻辑表达式。

解:-5<=x&&x<=3

6.a、b是字符变量,已知a的值为大写字母、b的值为小写字母,写出判断a、b是否为

同一字母(不区分大小写)的逻辑表达式

解:a+32==b或b-a==32?l:0

7.int类型变量a、b均为两位正整数,写出判断a的个位数等于b的十位数、且b的个

位数等于a的十位数的逻辑表达式。

解:a%l0==b/10&&a/10==b%10

8.写出判断某个人是否是成年人(年龄大于21),且不是老年人(年龄大于65)的逻辑表达

式。

解:y>21&&y<=65

9.写出取变量a、b、c中最大值的条件表达式。

解:(a>b?a:b)>c?(a>b?a:b):c

10.若字符变量ch为小写字母,则将其转换为对应的大写字母。

解:ch=ch>='a'&&ch<='z'?ch-32:ch

三、单项选择题

1.设intx=3,y=4,z=5;,下列表达式中值为0的是()。

A.'x'&&'y'B.x<=yC.x||y+z&&y-zD.!((x<y)&&!z||l)

5

2.已知x=10,ch='A',y=0;,则表达式“x>=y&&ch<'B'&&!y"的值是(2

A.0B.1C.“假"D.“真”

3.判断char型变量c为数字字符的正确表达式为()。

A.'0'<=c<='9'B.'0'<=c&&c<='9'C.c>='0'||c<='9'D.c>=0&&c<=9

4.下列运算符中,优先级最低的是()。

A.?:B.&&C.==D.*=

5.若有条件表达式“x?a++:b--",则以下表达式中()等价于表达式X。

A.x==0B.x!=0C.x==lD.x!=l

6.有定义intk=4,a=3,b=2,c=l;,表达式“k〈a?k:c〈b?c:a”的值是()。

A.4B.3C.2D.1

7.执行下列程序段后,变量a,b,c的值分别是()。

intx=10,y=9,a,b,c;

a=(—x==y++)?—x:++y;b=x++;c=y;

A.a=9,b=9,c=9B.a=8,b=8,c=10

C.a=9,b=10,c=9D.a=l,b=l1,c=10

8.有定义inta=9;,语句“a+=a-=a+a;”执行后,变量的值是()。

A.18B.9C.-18D.-9

9.设x和y均为int型变量,则语句"x+=y;y=x-y;x-=y;”的功能是()。

A.把x和y按从小到大排列B.把x和y按从大到小排列

C.无确定结果D.交换x和y中的值

10.有定义doublex=l,y;,表达式“y=x+3/2”的值是()。

A.1B.2C.2.0D.2.5

11.设有定义intx;doubley;,则下列表达式中结果为整型的是()。

A.(int)y+xB.(int)x+yC.int(y+x)D.(double)x+y

12.设有整型变量x,下列说法中,错误的是()。

A.“5.0”不是表达式B."x”是表达式

C.“!X”是表达式D.“sqrt(x)”是表达式

解:(1)D(2)B(3)B(4)D(5)B(6)D(7)B(8)C(9)D(10)C(11)A(12)A

四、填空题。

1.设floatx=2.5,y=4.7;inta-7;,表达式x+a%3*(int)(x+y)%2/4值为。

解:2.5

2.设intx=2,y=3;,执行语句“x*=x+y”后x的值为。

解:10

3.设intx=17,y=5;,执行语句"x%=x-y”后x的值为。

解:5

4.设inta=6,b=4,c=2;,表达式!(a-b)+c-l&&b-c/2的值为。

解:1

5.设inta=2,b=4,x.y;,表达式!(x=a)I|(y=b)&&!(2-3.5)的值为.

解:0

6.判断变量a、b是否绝对值相等而符号相反的逻辑表达式为o

解:a==-b

7.判断变量a、b中必有且只有一个为0的逻辑表达式为。

解:a*b==0&&a+b!=0

8.设intm=2,n=2,a=l,b=2,c=3;执行语句d=(m=a==b)&&(n=b>c);后,m和n的值分别

6

为O

解:m为0,n为2

9.设inta=2;,表达式“a%2!=0"的值为。

解:0

10.设charc='y';,表达式"c>='a'&&c<='z'||c>='A'&&c<='Z'"的值为

解:1

11.写出与代数式(x+2)e*'2对应的C表达式。

解:(x+2)*exp(x+2)

12.设inta=2;执行语句a=3*5,a*4;后a的值为。

解:15

五、写出下列程序的输出结果。

1.

♦include<stdio.h>

voidmain()

(

unsignedk,n;

scanf(n%uM,&n);//输入数据为:69

k=n%10*10+n/10;

nM

printf(n=%dk=%d\nznzk);

)

解:n=69k=96

2.

#include<stdio.h>

voidmain()

(

intx=2,y=3;

x*=y+4;

n

printf(%d,%d\n\xzy);

x/=y=5;

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

x-=y%2;

printf(“告d,%d\n“,x,y);

)

解:14,3

2,5

1,5

3.

#include<stdio.h>

voidmain()

(

inta,b;

a=8;

b=7;

7

a=(a--==b++)?a%3:a/3;

printf(na=%db=%d\n",a,b);

)

解:a=2b=8

六、程序填空题。

1.以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c中的值给b,把a中

的值给c,交换后输出a、b、c的值。例如输入123,输出a=2b=3c=lo

#include<stdio.h>

voidmain()

{inta,b,c,@;

printf("Entera,b,c:");

scanf(u%d%d%dv,②);

③;a=b;b=c;®;

printf(''a=%db=%dc=%d\n〃,a,b,c);

)

解:①t②&a,&b,&c③t=a④c=t

2.以下程序不借助任何变量把a、b中的值进行交换。

#include<stdio.h>

voidmain()

{inta,b;

printf(Inputa,b:");

scanf(,①);

a+=②;b=a-®;a-=®;

printf(wa=%db=%d\n”,a,b);

)

解:①&a,&b②b③b@b

七、编程题。

1.输入3个字符后,按各字符ASCH码从小到大的顺序输出这些字符。

解:#include<stdio.h>

voidmain()

{charcl,c2,c3,t,min,mid,max;

cl=getchar();c2=getchar();c3=getchar();

min=(t=cl<c2?c1:c2)<c3?t:c3;

max=(t=cI>c2?c1:c2)>c3?t:c3;

mid=c1+c2+c3-min-max;

putchar(min);

putchar(mid);

putchar(max);

)

2.输入两点坐标(xl,yl)>(x2,y2),计算并输出两点间的距离。

解:#include<stdio.h>

#include<math.h>

8

voidmain()

(

doublexl,yl,x2,y2,d;

printf(“请输入两点坐标(xl,yl),(x2,y2)\n");

scanf((%lf,%lf),(%lf,%lf)w,&xl,&yl,&x2,&y2);

d=sqrt((xl-x2)*(x1-x2)+(yl-y2)*(yl-y2));

printf(“两点间距离二%f\n",d);

)

3.编写程序,计算球体积并输出它的值。要求输入半径值,计算结果保留三位小数。

解:^include<stdio.h>

#include<math.h>

^definePI3.1415926

voidmain()

{doubler,gv;

printf(“请输入半径值:\n");

scanf("%lf",&r);

gv=4.0/3*PI*pow(r,3);

printf(“半径为%f的球的体积为:%.3f\n",r,gv);

)

4.输入三角形的底和高,求三角形面积。

解:#include<stdio.h>

#definePI3.14159

voidmain()

(

doubleazh,s;

printf(、、请输入三角形的底,高\n〃);

scanf(''%lf,%lf〃,&a,&h);

s=a*h/2;

printf(''三角形面积=*\n",s);

)

5.编写程序,输入一个实数后输出该数的绝对值。

解:#include<stdio.h>

voidmain()

(

doublex,y;

printf(''请输入一个实数\n〃);

scanf&x);

y=x>=0?x:-x;

printf(vI%gI=%g\nzz,x,y);

)

6.输入梯形的上底、下底和高,求梯形面积。

解:#include<stdio.h>

voidmain()

doublea,b,h,s;

9

print-、、请输入梯形的上底,下底,高\n〃);

,z

scanf%lfz%lfz&a,&b,&h);

s=(a+b)*h/2;

printf(''梯形面积=告£\n〃,s);

)

7.输入矩形的边长,求矩形面积。

解:#include<stdio.h>

voidmain()

(

doublea,b,s;

printf(''请输入矩形的长,宽\n〃);

scanf(、'%lf,%1f〃,&a,&b);

s=a*b;

printf矩形面积=%工\n〃,s);

}

8.已知等差数列的第一项为a,公差为d,求前n项之和,a、d、n由键盘输入。

解:#include<stdio.h>

voidmain()

(

inta,dzn,sum;

printf(、、请输入等差数列的首项公差项数\n〃);

scanf('、%d%d%d”,&a,&d,&n);

sum=a*n+n*(n-1)*d/2;

printf(''sum=%d\n〃,sum);

)

9.编写程序,将d天h小时m分钟换算成分钟,输入d、h、m,输出换算结果。

解:ttinclude<stdio.h>

voidmain()

(

intd,h,m,t;

printf(''请输入天小时分钟\n〃);

scanf(、'%d%d%d〃,&d,&h,&m);

t=d*24*60+h*60+m;

printf(''%d天%€1小时%d分钟=%d分钟\n〃,d,h,m,t);

)

10.编写程序,求出给定半径r的圆以及内接正n边形的面积,输出计算结果。r和n的值

由键盘输入。

解:#include<stdio.h>

♦include<math.h>

#definePI3.14159

voidmain()

doubler,sl,s2;

intn;

printf(''Inputrn\n〃);

10

scanf(''Zlf%d〃,&r,&n);

sl=PI*r*r;

s2=n/2.0*r*r*sin(2*PI/n);

printf(、'圆面积=%f,正内接%d边形面积=%£\n〃,sl,s2);

)

习题4

一、单项选择题

1.下列语句将小写字母转换为大写字母,其中正确的是(

A.if(ch>=,a'&ch<=,z,)ch=ch-32;B.if(ch>='a'&&ch<='z')ch=ch-32;

C.ch=(ch>='a'&&chv二'z')?ch-32:'';D.ch=(ch>'a'&&ch<,z,)?ch-32:ch;

2.下列各语句中,能够将变量u、s中最大值赋给变量t的是()。

A.if(u>s)t=u;t=s;B.t=s;if(u>s)t=u;

C.if(u>s)t=s;elset=uD.t=u;if(u>s)t=s;

3.假设变量x、k都已定义,下列语句片段中,无语法错误的是()。

A.switch(x){

casex>=90:putchar(fA*);

casex<60:putchar(*E1);

)

B.switch(x){

case1+2:k=1A*;

defualt:k=1E*;

case2*4:k=1B1;

}

C.switch(x){

case2+x:k=x-2;

case3*x:k=x+3;

default:k=0;

)

D.switch(x){

case3.5:k=0.5*x;

case7.8:k=8*x;

default:k=0;

}

*4.与语句while(!s)中的条件等价的是()。

A.s==0B.s!=0C.s==lD.s=0

5.下列语句中,哪一个可以输出26个大写英文字母()。

A.for(a=,A,;a<=Z;printf(”%c”,++a));

B.for(a=,A';a<'Z!;a++)printf(”%c",a);

C.for(a='A';a<=,Z,;printf(n%c",a++));

D.fbr(a='A';a<Z;printf(”%c",++a));

6.判断下面的while循环体的执行次数()o

i=0;

k=10;

while(i=8)i=k——;

11

A.8次B.10次C.2次D.无数次

解:(1)B(2)B(3)B(4)A(5)C(6)D

二、写出下列程序的输出结果

1.#include<stdio.h>

voidmain()

(

charx;

intn=0zk=0;

while((x=getchar())!=T#,){//运行时输入:athefthethe

there#

switch(x){

case*t1:k++;break;

case*h1:if(k==l)k++;break;

case1e':if(k==2)k++;break;

default:k=0;

)

if(k==3)n++;}

nn

printf(%d\nrn);

)

解:3

*2.

#include<stdio.h>

voidmain()

(

intk=0;

charc=1A*;

do{

switch(c++){

case*A1:k++;break;

case'B1:k--;

case1C1:k+=2;break;

case,D1:k=k%2;break;

case,E1:k=k*10;break;

default:k=k/3;

}

k++;

}while(c<,G,);

nn

printf(k=%d\nzk);

)

解:k=8

*3.

#include<stciio.h>

#include<ctype.h>

voidmain()

12

chara,b,x;inti;

do

x=getchar();//运行时输入:2abcD

while(isupper(x)==0);

for(a=1A1;a<=x;a++){

for(b=1A1;b<1Af+x-a;b++)

putchar(11);

for(i=l;i<=2*(a-,A,)+l;i++)

putchar(a);

putchar(1\n1);

}

}

注:isupp"(x)是判断X是否大写字母的函数,如果X是大写字母函数值为1

否则为0。

解:A

BBB

CCCCC

DDDDDDD

4.

#include<stdio.h>

voidmain()

(

intizn;

scanf("%d",&n);//输入2520

i=2;

while(n>l)

if(n%i==0){

MM

printf(%d\tzi);

n/=i;

)

elsei++;

printf(“\n");

}

解:2223357

三、填空题

1.求1〜10的乘积,写作:

for(,i=l;i<=10;++i)s*=i;

解:s=l

2.下面程序段执行后,x、y的值分别为o

y=i;

x=5;

while(x){

13

x--;

y++;

)

解:X、y分别为。和6

*3.输入若干个以问号结束的字符,同时输出这串字符(不包括问号);

while(!=1?1)putchar(ch);

解:(ch=getchar())//注意外面的这对括号不能少

*4.有以下程序片段:

s=l.0;

for(k=l;k<=n;k++)

s+=1.0/(k*(k+1));

printf("%f\n",s);

填空,使下程序段与上程序段功能完全相同。

s=0.0;

k=0;

do

{s+=d;

r

d=1.0/(k*(k+1));

)

while();

printf(H%f\n\s);

解:d=lk++k<=n

5.下列程序输出6〜10000之间的亲密数对,填空将程序补充完整。若a、b是亲密数对,

则a的因子和等于b,b的因子和等于a,且a不等于b。

#include<stdio.h>

voidmain()

{int

for(a=6;a<=10000;a++){

b=l;

for(i=2;i<=a/2;i++)

if()b+=i;

for(i=2;i<=b/2;i++)

if(b%i==0)c+=i;

if(&&a!=b)

printf("%d%d\n”,a,b);

)

}

解:a%i==0c=l;c==a

6.计算2+22+222+2222+・・・+22+・・・+2的和。

#include<stdio.1B>'一~'

voidmain()

{ints=l,t=l,a,n;

14

scanf(n%dn&n);

for(inti=2;i<=n;i++){

t=t*10+l;

)

printf("SUM=%d\n”,s);

}

解:a=2;s+=t;s*=a;

四、编程题

1.输入一个实数,输出它的平方根值,如果输入数小于0,则输出"Thenumberiserror!”

的提示。

解:#include<stdio.h>

#include<math.h>

voidmain()

(

doublearx;

printf(''Inputdata:\nff);

scanf&a);

if(a>=0){

x=sqrt(a);

printf(v%g的平方根值为%g\n〃,a,x);

}

else

printf(''Thenumberiserror!\n,z);

)

2.用if语句编程序,输入x后按下式计算y值,并输出结果。

.x+2*x2+100WxW8

y=<

X-3*X3-9X<0或x>8

解:#include<stdio.h>

voidmain()

(

doublex,y;

printf(''Inputx:\n,z);

scanf&x);

if(x>=0&&x<=8)

y=x+2*x*x+10;

else

y=x-3*x*x*x-10;

printf(、'x=%f,y=%f\n〃,x,y);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论