应用:计算运费
每公里每吨货物的基本运费为p(price),货物重为w(weight),距离为s,折扣为d(discount),则总运费f(freight)的计算公式为 freight=price*weight*s*(1-discount)
- #include <stdio.h>
- int main()
- {
- int c,s;
- float p,w,d,f;
- printf("please enter p,w,s: ");
- 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("freight=%.2f\n", f);
- return 0;
- }
用switch求分段函数
- #include <stdio.h>
- #include <math.h>
- int main()
- {
- double x, y;
- int a;
- scanf("%lf", &x); //需用lf,否则无法运行
- a=(x<0)+(x<5)+(x<10); //(x<0)、(x<5)、(x<10)真或假,即1或0
- switch(t)
- {
- case 3:
- y=x;
- break;
- case 2:注意case值后面是跟分号
- y=x*x+2;
- break;
- case 1:
- y=sqrt(x+4);
- break;
- case 0:
- y=1/(x-1);
- }
- printf("输出的值为%lf\n", y);
- return 0;
- }