初学者问题多,不知道此题应该是什么思路。

不会整啊,我写的代码和正确差得有点远。。。

img

img

写的没啥大问题,主要是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;
}

代码还没有写完吧,下面应该还有大括号哦}