实验4
1. 以下几段源程序有错,请调试修改正确。
① /*源程序实现的功能:输入两个实数,按从小到大的顺序输出*/
main()
{ float a,b,t;
scanf(“%f,%f”,&a,&b); if (a>b)
t=a;a=b;b=t
printf(“%5.2f,%5.2f”,a,b); }
#include
scanf(\ if (a>b){
t=a;a=b;b=t;}
printf(\ }
② 该源程序实现的功能是:有如下函数关系:
? x (x>0) y= ? 2 (x=0) ? 3x (x<0) 根据输入的x值,求出y的值。 main( ){ int x,y;
printf(“Enter x:”);
scanf(“%d”,&x);
if x>0 y=x; else if(x=0) y=2; else y=3*x; printf(“x=%d y=%d\\n”,x,y); }
#include
y=2; else y=3*x;
printf(\ y=%d\\n\
#include
某物品原有价值为p, 由于使用使其价值降低,价值的折扣率根据时间t(月数)确定如下:
t<3, 无折扣 3<=t<6, 2%折扣 6<=t<12, 5%折扣 12=
编程实现:根据输入的时间和原有价值计算物品的现有价值。 #include
4. 给一个不多于5位的正整数,要求:
①求出它是几位数; ②分别打出每一位数字;
③按逆序打出各位数字,例如原数为321,应输出123 #include
}
case 1:{ printf(\位数\ printf(\ printf(\倒序为:%d%d%d%d%d\ break;}}}
实验5
1. 以下程序的功能是实现从键盘输入一组字符,统计出大写字母的个数m和小写字母的
个数n,并输出m、n中的较大者。程序中有错,请调试修改正确。 main ( )
{ int m , n ; char c ;
while ( (c=getchar()) != '\\n' );
{ if ( c>= 'A'&&c<= 'Z' ) m++ ;
if ( c>= 'a'&& c<='z' ) n++ ;
}
printf (\}
#include
{ int m=0 , n=0 ; char c ;
while ( (c=getchar()) != '\\n' )
{ if ( c>= 'A'&&c<= 'Z' ) m++ ; if ( c>= 'a'&& c<='z' ) n++ ; }
printf (\
2. 以下程序可以实现从键盘输入一串数字,然后以相反的顺序将它们输出,如输入:1234,
输出4321,请填空。 main()
{ int number, right ;
printf(\ you number:\\n \scanf(\ do
{ right= ① ; ①→ number printf(\ ; number= ② ; ②→number/10 }
while ( number!=0 );