题目
犯过的错误是小数不记得用double,其余不难
#include<iostream>
#include<string>
#include <iomanip>
using namespace std;
int main()
{
string n;
cin >> n;
int size = n.size();
double num2 = 0;
double degree;
for (int i = 0; i < size; i++)
{
if (n[i] == '2')
num2++;
}
double num = size;
if (n[0] == '-')
{
num = size - 1;
degree = num2 / num * 1.5;
}
else
degree = num2 / num ;
if (n[size - 1] % 2 == 0)
degree *= 2;
cout << fixed << setprecision(2) << degree * 100 << "%" << endl;
system("pause");
return 0;
}