不会整啊,我写的代码和正确差得有点远。。。
写的没啥大问题,主要是f=p*(1-d)要放到后面执行,前面还没输入和计算出来折扣呢
#include <iostream>
using namespace std;
int main()
{
int p,t;
float d,f;
scanf("%d",&p);
t = p/100;
switch(t)
{
case 0:
d = 0;
break;
case 1:
case 2:
d = 0.05;
break;
case 3:
case 4:
case 5:
d = 0.1;
break;
case 6:
case 7:
case 8:
case 9:
d = 0.15;
break;
default:
d = 0.2;
break;
}
f = p*(1-d);
printf("%.2f",f);
return 0;
}
f = p*(1-d);要放在最下面,你代码这么写的话,d和p都还没有值呢。代码修改如下:
#include <iostream>
using namespace std;
int main()
{
int p;
double d,f;
cout << "输入:";
cin >> p;
switch(p/100)
{
case 0:
d = 0;break;
case 1:
case 2:
d = 0.05;break;
case 3:
case 4:
case 5:
d = 0.1;break;
case 6:
case 7:
case 8:
case 9:
d = 0.15;break;
default:
d = 0.2;break;
}
f = p*(1-d);
cout << f<<endl;
return 0;
}
代码还没有写完吧,下面应该还有大括号哦}