C语言编程作业答案
习题四
1. 输入x的值,据下面的多项表达式求y的值:
y=x5+12 x4-7.3x3-x2+2x-4
main()
{ float x,y;
scanf("%f",&x);
y=((((3.0/4*x+12)*x-7.3)*x-8.3/3)*x+2)*x-4;
printf("\ny=%f",y);
}
#include
{ float x,y;
scanf("%f",&x);
y=4*pow(x,5)/3+12*pow(x,4)-7.3*pow(x,3)-8*x*x/3+2*x-4;
printf("\ny=%f",y);
}
3. 输入一个三位整数,然后逆序输出。如输入为123,则输出为321。
main()
{ int m,a,b,c;
scanf("%d",&m);
c=m%10; b=m/10%10; a=m/100;
printf("\n%d%d%d",c,b,a);
}
习题五
P25
1.计算分段函数 1 当x>0时
y= 0 当 x=0时
-1 当x<0时 的程序如下:
2.从键盘上输入三个数,用条件表达式编程找出最大数和最小数。
main()
{ int a,b,c,max,min;
printf("\n请输入三个整数:");
scanf("%d%d%d",&a,&b,&c);
max=a>b?a:b; max=max>c?max:c;
min=a
printf("\nmax=%d,min=%d",max,min);
}
3.编程计算下面的分段函数。
4x-8 (-1≤x<0 )
y= 3x2+10x-1 ( 0≤x<1 )
8x3-3x2+2x-1 ( 1≤x<2 )
main()
{ float x,y;
printf("\nEnter data:");
scanf("%f",&x);
if(x=2)
printf("\nError");
else
{ if(x<0) y=4*x+8;
else if(x<1) y=3*x*x+10*x-1;
else y=8*x*x*x-3*x*x+2*x-1;
printf("\ny=%f",y);
}
}
4.水果店有苹果,一级5.50元/kg,二级4.20元/kg,三级3.00元 /kg,四级2.50/kg,输入苹果的等级、数量以及顾客的付款数,显示出苹果的等级、数量、应付款数以及找给顾客的钱数。
main()
{ int n,w,t1,t2,t3;
printf("\n输入等级、重量和付款:");
scanf("%d%f%f",&n,&w,&t1);
switch(n)
{ case 1: t2=5.5*w; break;
case 2: t2=4.2*w; break;
case 3: t2=3*w; break;
case 4: t2=2.5*w; break;
default: t2=0;
}
t3=t1-t2;
if(t2<=0||t<0)
printf("\nData Error");
else
{ printf("\n等级:%d",n);
printf("\n重量:%f",w);
printf("\n应付款:%.2f",t2);
printf("\n实际付款:%.2f",t1);
printf("\n找零:%.2f",t3);
}
}
5.编写一个程序,对于一个不多于5位的正整数,要求①求出它是几位数;②分别打出每一位数字;③按逆序打印出各位数字(例如原数为321,应输出123)。④对不合法的输入作必要的处理,例如输入的数为负数或超过5位数#include
main()
{ long int m;
int a,b,c,d,e,n;
printf("\n请输入一个不超过五位的正整数:");
scanf("%ld",&m);
if(m<0) m=-m;
n=log10(m)+1;
if(n>5) printf("\n超过5位。");
e