1.下列程序中,要求main函数实现如下功能:从键盘上输入三个正整数,求最大值。请完善程序,并给出你的测试数据及运行结果。
#include
void main()
{ int a,b,c,max;
printf("Enter three integers:");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
max=a;
else
max=b
if(c>max)
max=c;
printf("max of the three numbers is %d",max);
} /*1,2,5 max of the three numbers is 5*/
2.请编程序,对从键盘上输入的x值,根据以下函数关系计算出相应的y值(设x,y均为整型量)。
xyx<000<=x<10x10<=x<201020<=x<40-5x+20
#include
main()
{
int x,y;
scanf("%d",&x);
if(x<0)
y=0;
else
if(x>=0&&x<=10)
y=x;
else
if(x>=10&&x<=20)
y=10;
else
y=-5*x+20;
printf("%d",y);
}
3. 写程序计算下列各表达式的值:
1)
2)
3)
#include
#include
main()
{
float a,b,c;
a=2.0/(4.0/5+3)+1;
b=sqrt((13-pow(2.24-pow(0.24,2),2))/3.68);
c=2*3.14159*sqrt(13+exp(2));
printf("%f\n%f\n%f",a,b,c);
}
4.写程序计算5x2+2x+6的两个实根。考虑用合适的方式输出。
(提示:可先计算出判别式b2-4ac的值)
#include
#include
main()
{ float a,b,c,x1,x2,p,q,disc;
printf("input a,b,c:");
scanf("%f%f%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc>=0)
{
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q; x2=p-q;
printf("%f\n%f\n",x1,x2);
}
else
printf("No Answer");
}
5.从键盘上任意输出一个年份year,判别该年是否为闰年,如是输出“yes”,否则输出“no”。提示:如果变量year的值是闰年年份,那么这个值应该是4的部数但又不是100的倍数,或者它是400的倍数。
#include
void main()
{
int year;
scanf("%d",&year);
if(year%4==0&&year%100!=0||year%400==0)
printf("yes");
else
printf("no");
}
6.从键盘上输入float型数,判断这三个数能否构成三角形,若能则求该三角形面积,否则输出不能构成三角形的信息。
#include
#include
void main()
{ float a,b,c,p,area;
printf("input three integers:");
scanf("%f %f %f",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
p=(a+b+c)/2.0;
area=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%f\n",area);
}
else
printf("inputs are wrong!");
}
7.下列程序想求出满足如下条件的三位数n:(1)n除以11(整数相除)所得到的商等于n的各位数字的平方和;(2)n中至少有二位数字相同。如:131除以11的商为11,131各位数字的平方和为11,131中有二位数字相同,故131是所要求出的三位数中的一个;又如550,也是满足条件的三位数。源程序中有些错误,请你改正并最终使程序得到如下的运行结果:131 550 900
【含有错误的源程序】
#i