目录
“如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。”
这个题真是。。。。。。
出的不好,因为它没说清楚
出的又很好,因为它确实可以,而且可能性更多了,控分有一手的。
md
上代码
#include<iostream>
using namespace std;
#include<string>
#include<iomanip>
int main() {
string a;
cin >> a;
double stupid = 0;
for (int i = 0; i < a.length(); i++) {
if (a[i] - '0' == 2) {
stupid++;
}
}
if (a[0] == '-') {
stupid /= (a.length() - 1.0);
if (a[a.length() - 1.0] %2 == 0) {
stupid *= 3;
}
else {
stupid *= 1.5;
}
stupid *= 100.0;
}
else {
if (a[a.length() - 1.0] %2 == 0) {
stupid *= 2;
}
stupid /= a.length();
stupid *= 100.0;
}
cout << setiosflags(ios::fixed) << setprecision(2);
cout <<stupid<< "%";
return 0;
}
我遇到的问题
首先
题目的多种可能性先放一边,就如何控制这个输出格式,我就没辙了。
保留有效数字。
其次
我一开始认为,1.5倍是0.5+1.0得到的,原来只是单纯的增加0.5倍而已,数学基础问题
最后
当然就是没有考虑到多种可能性了。