实验四 选择结构程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四选择结构程序设计
三、实验内容
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);
}
≡File Edit Search Run
═[■]════════════════════════
#include
void 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);
}
3.6,3.8
3.60, 3.80
②该源程序实现的功能是:有如下函数关系:
⎧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);
}
≡File Edit Search Run
╔═[■]═══════════════════════║#include
║void 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);
║}
║
║5
x=-4,y=-12
Enter x:
-4
x=-4,y=-12
2. 有一函数:
用scanf()函数输入x 值,求函数y 的值
画出程序流程图,列出源程序清单和调试过程中的测试数据、输出结果。
3. 某物品原有价值为p, 由于使用使其价值降低,价值的折扣率根据时间t(月数)确定如下:
t<3,
无折扣
3<=t<6, 2%折扣
6<=t<12, 5%折扣
12= t>=21, 10%折扣 编程实现:根据输入的时间和原有价值计算物品的现有价值。 ≡ File Edit Search Run ═[■]═════════════════════════ #include void main() { float t,p,m; scanf("%f,%f",&t,&p); if(t<3) printf("no discount"); else if(t>=3&&t<6) m=0.02*p; else if(t>=6&&t<12) m=0.05*p; else if(t>=12&&t<21) m=0.08*p; else ═☼═════ 2:12 ════◄■▒▒▒▒▒▒▒▒▒▒ ───────────────────────────── •Compiling NONAME00.CPP: 4. 给一个不多于5位的正整数,要求: x (x<1) 2x-1 (1≤x<10) 3x-11 (x ≥10) y= ①求出它是几位数; ②分别打出每一位数字; ③按逆序打出各位数字,例如原数为321,应输出123 ═══════NONAME00.CPP ═══════ #define MAXN 20 int main() { int n,t,k=0; int ia[MAXN]; printf("the number is:"); scanf("%d",&n); while(t=n%10) { ia[k++]=t; n/=10; } printf("the number is %d number!\n",k); printf("every number is:"); for(t=0;t printf("%d\t",ia[t]); printf("\n"); return 0; } ════◄■▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ═☼════16:37 ════◄■▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒the number is:3456 the number is 4 number! every number is:6 5 4 3