3.2基础实验
一、程序分析
1.以下程序若输入’a’,则输入格式为:__c1=a____;运行结果为:___a,A↙_____。
#include
intmain( )
{char c1,c2;
scanf(“c1=%c”,&c1);
c2=c1-32;
printf(“%c,%c\n”,c1,c2);
return 0;
}
2.以下程序如果使得a的值为2、b的值为3,则输入格式为:_a=2,b=3__;运行结果为:_2,3↙_。
#include
intmain( )
{ int a,b;
scanf(“a=%d,b=%d”,&a,&b);
printf(“%d,%d\n”,a,b);
return 0;
}
3.以下程序若输入12.3、7.6、1.1,则输入格式为:_12.3 7.6 1.1__;运行结果为:_aver=7.00___。
#include
intmain( )
{ floata,b,c,d;
scanf(“%f%f%f”,&a,&b,&c);
d=(a+b+c)/3;
printf(“aver=%.2f”,d);
return 0;
}
二、程序填空
1.输入一个四位整数,求各位数字之和(如1234,则结果为1+2+3+4=10)。若输入3562,则运行结果为:___3+5+6+2=16↙____________。
#include
intmain( )
{ int n,a,b,c,d,m;
scanf(“%d”,&n);
a=n%10;
b=(n/10)%10;
c=(n/100)%10;
d=__n/1000________;
m=__a+b+c+d________;
printf(“%d+%d+%d+%d=%d\n ”, d,c,b,a,m);
return 0;
}
2.给定一个华氏法表示的温度值,将其转换为摄氏法表示的温度,转换公式为则运行结果为:__f=64.00,c=17.78↙__。
#include
intmain ( )
{ float f,c;
f=64.0;
c=__(f-32)*5.0/9.0_________________;
printf(“f=%.2f,c=%5.2f\n”,f,c);
return 0;
}
三、程序改错
1. 分析以下程序段,找出错误并改正。
行号源程序1
2
3
4
5
6
7
8#include
main ( )
{int i; float k;
scanf(“i=%d”,i);
k=3.12*i;
printf(“%.2f\n ”,k);
return 0;
}找错错误在4行?应改为:scanf(“i=%d”,&i);调试正确后的运行结果输入数据: i=17 运行结果:53.04↙2. 分析以下程序段,找出错误并改正。
行号源程序1
2
3
4
5
6
7
8#include
main( )
{ char a;int b;float c;double d;
scanf(“%c,%d,%f,%lf”,&a,&b,&c,&d);
putchar(a\n);
printf(“%d,%0.2f,%.2lf\n”,b,c,d);
return 0;
}找错错误在5行?应改为:putchar(a); putchar(“\n”);调试正确后的运行结果输入数据: A,19,12.3,10.98运行结果:A↙19,12.30,10.98四、程序设计
1.对输入的字符进行加密,加密规则为“输入4个字符,将每个字符加4后转换成加密字符”,如输入“Ab2c”则加密后的字符序列为“Ef6g”。
3.3拓展实验
一、程序分析
1.⊙以下程序若输入3.4、12.0、8.9,则输入格式为:3.4,12.0,8.9,运行结果为:7.20↙。
#include
#include
intmain( )
{float a,b,c;
float s,area;
scanf(“%f,%f,%f” ,&a,&b,&c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“%.2f\n”,area);
return 0;
}?
2.以下程序若输入C和2,则运行结果分别为:__'F'和'5'_________。
#include
intmain( )
{char c1;
int c2=0;
c1=get