2
4. #&
5. (1)2
(2)3
CC
a=2,b=2,c=4
四、编程题
1. 有一个函数如下:
x2-2 (x<5)
y= 3x+5 (5≤x<50)
x- (x≥50)
编写程序,输入x的值,计算相应的y值输出(保留3位小数)。
#include
#include
void main()
{ float x,y;
scanf(\
if(x<5) y=x*x-2;
else if(x<50) y=3*x+5;
else y=x-sqrt(4*x-1);
printf(\ }
2.编写一个程序,根据输入的三角形的三条边判断是否能组成三角形,如果可以则输出它的面积和三角形类型(等边、等腰、直角、一般三角形)。
#include
#include
void main( )
{ float a, b, c, s, area;
scanf(\
if(a+b>c && b+c>a && a+c>b)
{ s=(a+b+c)/2;
area=sqrt(s*(s*(s-a)*(s-b)*(s-c)));
printf(\
if(a==b && b==c)
printf(\等边三角形\\n\
else if(a==b || a==c || b==c)
printf(\等腰三角形\\n\
else if((a*a + b*b== c*c)||(a*a + c*c== b*b)||(b*b + c*c == a*a))
printf(\直角三角形\\n\
else printf(\一般三角形\\n\ }
else printf(\不能组成三角形\\n\ }
3.设奖金税率r有如下的要求 (n代表奖金) :
0 n<1000
5% 1000≤n<2000
r= 8% 2000≤n<3000
10% 3000≤n<6000
15% 6000≤n
用switch多分支选择语句编写程序,输入奖金值,计算并输出相应的税率和实际应得奖金值。
#include
void main( )
{ float n, r, s;
int m;
printf(\请输入奖金值:\
scanf(\
if(n>=6000) m=6;
else m=n/1000;
switch(m)
{ case 0: r=0; break;
case 1: r=0.05; break;
case 2: r=0.08; break;
case 3:
case 4:
case 5: r=0.1; break;
case 6: r=0.15; break; }
s=n-r*n;
printf(\税率r=%.0f%%, 奖金值n=%.2f, 实际应得奖金值s=%.2f\\n\ }
4. 从键盘输入任意4个数a、b、c、d,按照从大到小的顺序排列后重新输出。
#include
void main( )
{ int a, b, c, d,t;
scanf(\
if(a
if(a if(a if(b if(b if(c printf(\ } 5. 给出一个不超过4位数的正整数,判断它是几位数,并按逆向输出各位数字。例1234,输出为4321。 #include void main( ) { int num,i,j,k,m; printf(\输入一个少于4位的正整数:\ scanf(\ if(num>=0 && num<=9999) { if(num>1000 && num<=9999) { printf(\是一个4位数\\n\ m=num; /*求个位上的数字*/ k=num/10; /*求十位上的数字*/ j=num/100; /*求百位上的数字*/ i=num/1000; /*求千位上的数字*/ printf(\逆序数为:%d%d%d%d\\n\ } else if(num>=100) { printf(\是一个3位数\\n\ m=num; /*求个位上的数字*/ k=num/10; /*求十位上的数字*/ j=num/100; /*求百位上的数字*/ printf(\逆序数为:%d%d%d\\n\ } else if(num>=10)