资源描述
实验二 多分枝及循环结构程序设计
【实验目的】
1. 熟练if多分枝结构;
2. 初步应用switch多分枝结构;
3. 初步应用循环结构;
【实验内容】
1. 数的编排,程序如下:
#include<stdio.h>
int main()
{
int x,n,m1,m2,m3,m4,m5;
scanf("%d",&x);
if(x>99999)printf("输入错误");
else
if(x>9999)
{n=5;m1=x/10000;m2=x/1000%10;m3=x/100%10;m4=x/10%10;m5=x%10;
printf("%d\n%d\n%d\n%d\n%d\n%d\n",n,m1,m2,m3,m4,m5);
printf("%d%d%d%d%d\n",m5,m4,m3,m2,m1);}
else
if(x>999)
{n=4;m1=x/1000;m2=x/100%10;m3=x/10%10;m4=x%10;
printf("%d\n%d\n%d\n%d\n%d\n",n,m1,m2,m3,m4);
printf("%d%d%d%d\n",m4,m3,m2,m1);}
else
if(x>99)
{n=3;m1=x/100;m2=x/10%10;m3=x%10;
printf("%d\n%d\n%d\n%d\n",n,m1,m2,m3);
printf("%d%d%d\n",m3,m2,m1);}
else
if(x>9)
{n=2;m1=x/10;m2=x%10;
printf("%d\n%d\n%d\n",n,m1,m2);
printf("%d%d\n",m2,m1);}
else
if(x>0)
{n=1;m1=x;
printf("%d\n%d\n",n,m1);
printf("%d\n",m1);}
else printf("输入错误");
return 0;
}
【结论】 结果正确。
2. 奖金的计算,程序如下:
方法一:
#include<stdio.h>
int main()
{
double I,P;
scanf("%lf",&I);
if(I<0) printf("输入错误");
else
if(I<=100000) P=0.1*I;
else
if(I<=200000) P=100000*0.1+(I-100000)*0.075;
else
if(I<=400000) P=100000*(0.1+0.075)+(I-200000)*0.05;
else
if(I<=600000) P=100000*(0.1+0.075)+200000*0.05+(I-400000)*0.03;
else
if(I<=1000000) P=100000*(0.1+0.075)+200000*(0.05+0.03)+(I-600000)*0.015;
else P=100000*(0.1+0.075)+200000*(0.05+0.03)+400000*0.015+(I-1000000)*0.01;
printf("%lf\n",P);
return 0;
}
【结论】 结果正确。
方法二:
#include<stdio.h>
int main()
{
double I,P;int c;
scanf("%lf",&I);
if(I>=1000000) c=11;
else c=int (I/100000);
switch(c)
{
case 0: P=0.1*I;break;
case 1: P=100000*0.1+(I-100000)*0.075;break;
case 2:
case 3: P=100000*(0.1+0.075)+(I-200000)*0.05;break;
case 4:
case 5: P=100000*(0.1+0.075)+200000*0.05+(I-400000)*0.03;break;
case 6:
case 7:
case 8:
case 9:
case 10: P=100000*(0.1+0.075)+200000*(0.05+0.03)+(I-600000)*0.015;break;
case 11: P=100000*(0.1+0.075)+200000*(0.05+0.03)+400000*0.015+(I-1000000)*0.01;break;
}
printf("%lf\n",P);
return 0;
}
【结论】 结果正确。
3. 求和运算,程序如下:
#include<stdio.h>
int main()
{
int n;
float sum,i;
scanf("%d",&n);
for(sum=0,i=1;i<=n;i++)sum=sum+1/i;
printf("%f\n",sum);
return 0;
}
【结论】 结果正确。
4. 水鲜花数的输出,程序如下:
#include<stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i/100;
b=i/10%10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
printf("%d\n",i);
}
return 0;
}
【结论】 结果正确。
【实验小结】
1. 注意“=”与“==”的区别;
2. 加强switch结构的应用;
3. 结构中用“{}”时,注意其内的间隔符;
4. 由结果的需要,对一些运算进行强制性改变。
展开阅读全文