企业发放的奖金根据利润提成。利润i低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万元到40万元之间时,高于20万元的部分,可提成5%;40万元到60万元之间时高于40万元的部分,可提成3%;60万元到100万元之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成。从键盘输入当月利润i,求应发奖金总数。1.用if语句编程2用switch语句编程
- -当初用if 很快就写完了。。但用switch时- -居然用了switch嵌套。变得无比复杂- -。。。。还是改了过来
- #include<iostream>
- #include<iomanip>
- using namespace std;
- int main()
- {
- int num,w,ge,shi,bai,qian,wan;
- cin>>num;
- //if num =99999 num/10000=9
- if(num/10000!=0)w=5;
- else if(num/1000!=0)w=4;
- else if(num/100!=0)w=3;
- else if(num/10!=0)w=2;
- else w=1;
- cout<<"是"<<w<<"位数"<<endl;
- wan=num/10000;
- qian=(num-wan*10000)/1000;
- bai=((num-wan*10000)-qian*1000)/100;
- shi=((num-wan*10000)-qian*1000-bai*100)/10;
- ge=(num-wan*10000)-qian*1000-bai*100-shi*10;
- cout<<"正在进行复杂计算,请等待0.000001秒"<<endl;
- switch(w)
- {
- case 5: cout <<"正顺序输出"<<wan<<'\t'<<qian<<'\t'<<bai<<'\t'<<shi<<'\t'<<ge<<endl;
- cout <<"逆顺序输出"<<ge<<shi<<bai<<qian<<wan<<endl;
- break;
- case 4: cout <<"正顺序输出"<<qian<<'\t'<<bai<<'\t'<<shi<<'\t'<<ge<<endl;
- cout <<"逆顺序输出"<<ge<<shi<<bai<<qian<<endl;
- break;
- case 3: cout <<"正顺序输出"<<bai<<'\t'<<shi<<'\t'<<ge<<endl;
- cout <<"逆顺序输出"<<ge<<shi<<bai<<endl;
- break;
- case 2: cout<<"正顺序输出" <<shi<<'\t'<<ge<<endl;
- cout<<"逆顺序输出" <<ge<<shi<<endl;
- break;
- case 1: cout<<"正顺序输出" <<ge<<endl;
- cout <<"逆顺序输出" <<ge<<endl;
- break;
- }
- return 0;
- }
转载于:https://blog.51cto.com/flzt5354/513712