下面这个程序有一个错误,错在哪里哦。
#include<stdio.h>
main()
{
float I;
scanf("%f",&I);
swith(I/10)
{
case1:I=0.9*I;printf("%f",I);break;
case2:I=9+0.925*(I-10);printf("%f",I);break;
case3:
case4:I=18.25+0.95*(I-20);printf("%f",I);break;
case5:
case6:I=37.25+0.97*(I-60);printf("%f",I);break;
case7:
case8:
case9:
case10:I=56.65+0.985*(I-60);printf("%f",I);break;
[default:I=94.97+.99*(I-100);printf("%f",I);break]
}
}
几个小错误. 帮你改好了. 请看看
#include<stdio.h>
main()
{
float I;
scanf("%f",&I);
switch((int)(I/10)) //switch写错了,另外switch表达式不能是float类型. 可以强制转换成整形
{
//case 表达式之间需要用空格隔开
case 1:I=0.9*I;break;
case 2:I=9+0.925*(I-10);break;
case 3:
case 4:I=18.25+0.95*(I-20);break;
case 5:
case 6:I=37.25+0.97*(I-60);break;
case 7:
case 8:
case 9:
case 10:I=56.65+0.985*(I-60);break;
default:I=94.97+.99*(I-100);break; //加个[]干嘛...
}
//可以把输出放到switch结束后,因为输出都是变量I. 这样少写几条语句.
printf("%f",I);
}