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;