C语言的分支结构和循环结构(二)

来源:互联网 发布:淘宝网购能用信用卡吗 编辑:程序博客网 时间:2024/05/21 09:12

    大致了解了分支结构的两种语句之后,我找了程序来对照着敲敲看看。

    1、if语句:编写一个程序,输入某人的身高(cm)和体重(kg),按下式确定其体重是否为标准、过胖或过瘦。(1)标准体重=身高-110;(2)超过标准体重5kg(即大于5kg)为过胖;(3)低于标准体重5kg(即小于5kg)为过瘦。

        我们根据数学知识可以列出表达式如下:假定某人身高为h,体重为w

                                                                                |       “标准体重”   (w=h-110及其他)——————>    |“标准体重”   (其他)

                                                                               {       “过胖”             (w>h-110+5)                                   {   “过胖”             (h-110-w>5)

                                                                                 |     “过瘦”             (w<h-110-5)                                      |  “过瘦”             (h-110-w<5)


#include <stdio.h>

void main()
{double h,w,i;
scanf("%d %d",&h,&w);
i=h-w-110;
{ if(i>5)
{printf("过胖");}
else if(i<5)
{ printf("过瘦");}
else

 {printf("标准体重");}
}
}

2、switch 语句:运输公司对用户计算运费,路程(s)越远,每公里运费越低。标准如下:
           s<250km            没有折扣
     250≤s<500                2%折扣
     500≤s<1000              5%折扣
   1000≤s<2000              8%折扣
   2000≤s<3000             10%折扣
   3000≤s                       15%折扣
设每公里每吨货物的基本运费为p,货物重为w,距离为s,
折扣为d,则总运费f的计算公式为:
f=p*w*s*(1-d)  
分析折扣变化的规律性:
折扣的“变化点”都是250的倍数 
在横轴上加一种坐标c,c的值为s/250。c代表250的倍数。
     c<1,无折扣;
1≤c<2,折扣d=2%;
2≤c<4,d=5%;
4≤c<8,d=8%;
8≤c<12,d=10%;
    c≥12,d=15%。
#include <stdio.h>
void main ( )   

{int c,s;

float p,w,d,f;

scanf("%f,%f,%d",&p,&w,&s);

if(s>=3000) c=12;

else c=s/250;

switch(c)

{case 0:d=0;break;  

case 1:d=2;break;

case 2:case 3:d=5;break;

 case 4:case 5:case 6:case 7:d=8;break;

 case 8:case 9:case 10: case 11:d=10;break;   

case 12:d=15;break; }

f=p*w*s*(1-d/100.0);

printf("总运费=%15.4f\n",f);}//15位有效数字,小数点后取4位



0 0
原创粉丝点击