分支程序设计。

安徽机电职业技术学院实验报告

实验四    分支程序设计(if语句)

班级

软件3161

日期

2016.11.3

备注

学号

1103163004

姓名

王凯

 

成绩

 

 

 

 

 

1.(1)从键盘任意输入四个int类型的整数,要求将其中的最大数输出。

#include "stdio.h"

main()

{

       int a,b,c,d,max;

       scanf("%d%d%d%d",&a,&b,&c,&d);

       max=a;

       if(max<b)max=b;

       if(max<c)max=c;

       if(max<d)max=d;

       printf("%d",max);

}

 

 

 

 

 

 

 

2.从键盘任意输入四个int类型的整数,要求将它们按从小到大的顺序输出。

#include "stdio.h"

main()

{

       int a,b,c,d,t;

       scanf("%d%d%d%d",&a,&b,&c,&d);

       if(a>b)

       {

              t=a;a=b;b=t;

       }

       if(a>c)

       {

              t=a;a=c;c=t;

       }

       if(a>d)

       {

              t=a;a=d;d=t;

       }

       if(b>c)

       {

              t=b;b=c;c=t;

       }

       if(b>d)

       {

              t=b;b=d;d=t;

       }

       if(c>d)

       {

              t=c;c=d;d=t;

       }

       printf("%d%d%d%d",a,b,c,d);

}

3.某商场给顾客购物的折扣率如下:

购物金额 < 300元,                               不打折

300元  ≤  购物金额 < 500元                9折

500元  ≤  购物金额 < 800元                7折

800元  ≤  购物金额                               5折

要求输入一个购物金额(x),输出打折率(rate)以及购物实际付款金额(x * rate)

#include "stdio.h"

main()

{

       float a;

       printf("请输入您的购物金额! ");

       scanf("%f",&a);

       if(a>0)

       {

             if(a<300)printf("您的购物金额为%.2f 没有打折优惠! 实际付款为%.1f",a,a);

             if(a>=300&&a<500)printf("您的购物金额为%.2f 有打9折优惠! 实际付款为%.1f",a,a*0.9);

             if(a>=500&&a<800)printf("您的购物金额为%.2f 有打7折优惠! 实际付款为%.1f",a,a*0.7);

              if(a>=800)printf("您的购物金额为%.2f 有打5折优惠! 实际付款为%.1f",a,a*0.5);

       }

       else

       printf("您输入的购物金额有误!");

}

三、思考与练习

1、比较上机验证题中的源程序一和源程序二,为什么会产生不同和的运行结果?

因为else 是与它最近的if匹配 (1)里面的else 是当a<b&&b>=0时才会执行,a>b直接执行下一条语句printf所以结果是2    (2)里面的if被{}包含,{}就是一个包含语句的符号。所以else 只能与第一个if匹配,所以结果是3.

2、比较上机验证题中的源程序七和源程序八,为什么会产生不同和的运行结果?

因为(7)if里面的==符号是一种判断符号判断左边和右边是否相等 无误,所以输出结果。

(8)if是一种判断语句,条件必须是判断符号 而‘=’表示赋值,语句的意思就变为如果把右边赋值給左边。表示逻辑不通,所以执行错误!

3、分析以下程序段的功能是什么?试补充完整程序并验证程序的运行结果。

              scanf(“%d%d”, &a,&b);

printf ( " %d + %d = ", a, b );

              scanf ( "%d", &c );

              if ( c == a +b )  printf (" GOOD !" );

              else  printf ( "WONG! ");

功能是输入两个数,屏幕输出这两个数的加数,然后输入答案,系统判断正确。

#include "stdio.h"

main()

{

       int a,b,c;

       printf("请输入两位整数! ");

       scanf("%d%d",&a,&b);

       printf(" %d+%d=",a,b);

       scanf ("%d",&c);

       if (c==a+b)printf (" GOOD !" );

       else  printf ( "WONG! ");

}

原文地址:https://www.cnblogs.com/doublekai/p/6048358.html