c语言习题答案

  • 格式:docx
  • 大小:60.30 KB
  • 文档页数:32

(1) 编程求37 + 29的值,实习VC环境。

# in elude〈S tdi 0 h〉 void ma i n()

{

0 in t a, b, sum;

a=37;

o b 二2 9 ;

sum= a +b;

p r int f (” su m = % d ” , s u m);

}

(2) 从键盘输入三个整数,求出最大数并输出。

# i n c 1 ude< s tdio、h >

v oid ma i n ()

{

i nt a, b, c, y;

i nt m a x ( i nt x, i nt y ):

pr i n t f (in put a, b, a n d c : ”);

S c an f (”% d , %d, %d " , &a, &b, &c);

y=m a x (a, b);

y=max(y, c);

pr i ntf (” \ n m a x=% d \ n " , y);

}

int max(int x, i n t y )

{

i n t z ;

i f (x〉y) z二x;

e 1 se z 二y;

r e t ur n (z);

}

(3) 通过上机实践,运行下列程序并分析输出结果、

A程序代码

# i n c 1 u d e < s t dio、h〉

void m a i n ()

{

char c h=, a ';

printf(M%c 对应的 AS CII 码是:%d\n", c h, ch); } 程序输出结果:a对应的ASC |丨码是:97

B程序代码

# in c lude h>

vo i d main() 2、 1顺序结6 i nt a=168;

® float b 二 12 3、45 6 ;

6 f 1 0 at x=3 5、56 7 , y ;

p r i ntf (” a=% 5 d \ n” , a);

6 p r i n t f ( " a=% —5d\ n ”, a);

o printf( " b=% 6、2f\n〃,b);

o p r i nt f (〃b=%e\n〃,b);

o y= (in t ) (x*l 0 0+0、5)/10 0、0;

0 p rin t f(" x=f, y=%『\ n " , x, y);

}

程序输出结果:

a= 1 68

a= 1 68

2123、46b=l> 2 3 4 5 60e+00 2

x=f, y =35. 5 6 7 0 0 1

C程序代码

# inclu de

v 0 i d m a in ()

{

6int a=l 6 8;

print f C十进制数% d对应的八进制数是%o\n” , a, a); op rin tf (”十进制数%d对应的十六进制数是%x\n”,a, a);

}

程序输出结果:

十进制数1 6 8对应的八进制数是250

十进制数1 6 8对应的十六进制数是a8

实验二

2、1、1己知a二1、5,b二5、3, c二2、9 ,计算s二以-4ac的结果并输出、

#in c 1 ude< S t d i 0、h)

void ma i n ()

{

汪 1 oat a , b, c, s ;

a二1、 5;

ab=5、3;

% 二 2、9;

3s 二 b * b -4 * a * c ; op rin tf (” s 的值是 %f\ n " , s);

} 2、1、2输入某学生的三个科目的期末考试成绩,计算出该学生的成绩总分与

平均分。

#inclu d e h)

vo i d mai n ()

{

int math, e n gl i sh, c_ p r ogr a m;

f loa t sum , a v e r age;

p r i nt f ("inp u t math, e n g 1 i s h , c_ p r 0 gram:,z); scanf (” % d, % d, %d” ,

&mat h , & e ngl ish, & c_ p rog r am);

sum 二 m a th+ e n g li s h + c_prog ram;

av e rag e = sum/3;

p r i ntf (〃sum = %、Of, a vera g e = %、5f ”,s u m, a v erage);

}

2、1、3输入圆的半径,计算圆的面积,设圆周率为3、14 16、

# i n c 1 ude< s tdi 0、h〉

int m a in()

{

0 f lo a t r, s:

oprintf(”请输入半径:”);

sea n『(” %f ”,& r );

s= 3、1 41 6 *r*r;

0 P r intf (” 圆的面积为%、6f", s);

}

2、1、4输入一个两位数,将其个位数与十位数互换后变成一个新的数,输出这个 数、

# i nclude 〈s t di 0、h >

int main(void)

{

int n, a, b;

print f ( " input n:");

s c a nf (”%d 〃,&n);

b=n%10;

a=n/10;

n二b* I 0+ a ;

p r intf ("%d\n " , n);

r e turn 0 ;

}

2、1、5输入两个数a与b,将两数的值互换后输出新值。

# i nc 1 ude 〈St d i 0 > h〉

voi d ma i n()

oint x, y, t ;

Qscanf (” %d% d ”,&x, & y ); ot 二X;

坎二y;

y=t;

6 p rin t f (” x=%d, y二%d \ n " , x, y);

2、2简单分支结构

2、2、1输入两个整数,求出其中的较小值输出、

ncl u de〈stdio、h)

i n t main ()

{

0 in t a, b, min;

6 pri n tf("请输入 a, b: \ n ");

6 scanf ( " %d, %d” , &a, &b);

i f (a < b) mi n

=a;

e Ise

mi n =b;

printf (w 最小值是 %d\n",m i n); retur n 0;

}

2、2、2输入x的值并计算分段函数y的值。

\ 以+2 x x<2

Y二 f(x)Q

2x—1 x) =2

^include

int ma i n(vo i d)

{

0 d ouble x , y;

6 S canf (〃%lf ",& x);

oi f (x <2)

ay 二 x *x + 2*x;

0 e Ise

呵= 2*x-l;

op rin tf(”%、6f〃,y );

°r e tur n 0;

}

2、2、3输入两个整数并判断两数是否相等,输出相应结论、

# i nclude h〉

i nt ma i n()

int a, b; «printf( ”请输入两个整数:\n〃);

。 s canf (” %d, % d ”,&a, &b);

o i f ( a == b )

o printf (” a 等于b ”);

6 el S e

o pr i nt f (" a 不等于 b”);

r e tur n 0 ;

}

2. 2. 4输入一个整数,若为负数,求出它的平方;若为正数,求出它的立方,并输出 结果。

ttinclu d e

v oid main ()

{

printf("请输入一个整数:”);

d o ubl e x, y;

scan『(” %lf ",&x);

if(x<0)

o y 二x * x ;

el s e

o y 二x * x * x;

p rint f (” y =f (%f) =% f \n〃,x, y );

}

2.2.5输入三个整数,用if-e 1 se结构求出其中的最大值、提示:首先求出两个 数的较大值放在一个变量里,然后用这个变量与第三个数再进行一次比 较、

#i n c lude〈stdio、h >

int m a in()

{

0 int a , b, c, m a x;

6 printf (”请输入三个数");

6 s Canf ("%d, %d, %d " , &a, & b , & c);

6 if(a>b)

3 ma x =a;

o else

0 ma x =b;

o if (c>m a x )

a max= c ;

0 else

0 max=a;