唉……
对对对,me社畜本人;算了,开始正文吧。
今天,我们来看一道让一个月没练编程的小帅有点为难的题(唉……大脑一片空白);
题目如下:样例1:
1600;0.00;
c的代码:
#include<stdio.h>
int main()
{
int W;
double s;
scanf("%d",&W);
if(W<=1600)
s=0;
else if(W<=2500&&W>1600)
s=0.05;
else if(W<=3500&&W>2500)
s=0.1;
else if(W<=4500&&W>3500)
s=0.15;
else
s=0.2;
double res=s*(W-1600);
if(s==0)
printf("0.00");
else
printf("%.2f",res);
return 0;
}
c++的代码:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int W;
double s;
cin>>W;
if(W<=1600)
s=0;
else if(W>1600&&W<=2500)
s=0.05;
else if(W>2500&&W<=3500)
s=0.1;
else if(W>3500&&W<=4500)
s=0.15;
else
s=0.2;
double res=s*(W-1600);
if(s==0)
cout<<"0.00";
else
cout<<fixed<<setprecision(2)<<res;
return 0;
}
其中呢(对于憨憨笨笨的我来说)有两点;
一:
如果按上述代码;当W<1600时;即s=0,但如果我们直接输出res,会得到-0.00的结果,所以要额外说明一下;
二:
c++保留两位小数输出的问题。
头文件iomanip
格式:cout<<fixed<<setprecision(2)<<输出;
就到这里吧……
鄙人做事没耐心,没恒心,总是头脑一热就……
拜拜了……下次再见就不知道是何年何月了。祝大家龙年大吉,生活顺利。