C语言题目,使用SWITCH语句计算折扣率。
#include <stdio.h>
int main()
{
double je,zk;
int x;
printf( 那个输入金额(大于0): );
scanf( %lf ,&je);
x=(int)(je/100);
switch(x)
{
case 0:case 1:case 2:zk=je;break;
case 3:case 4:zk=je*0.9;break;
case 5:case 6:case 7:zk=je*0.7;break;
default:zk=je*0.5;
}
printf( 折扣率为:%f,实际支付金额:%f\n ,zk/je,zk);
return 0;
}
int main()
{
double je,zk;
int x;
printf( 那个输入金额(大于0): );
scanf( %lf ,&je);
x=(int)(je/100);
switch(x)
{
case 0:case 1:case 2:zk=je;break;
case 3:case 4:zk=je*0.9;break;
case 5:case 6:case 7:zk=je*0.7;break;
default:zk=je*0.5;
}
printf( 折扣率为:%f,实际支付金额:%f\n ,zk/je,zk);
return 0;
}
如果金额是整数,可以将金额整除100之后进行判断。如果是浮点数则需要强制转换成int后进行整除100再判断。就是写的case略多一点
switch干不了这个事,用if else。