赛码网练习题

来源:互联网 发布:js定义map并赋值 编辑:程序博客网 时间:2024/05/09 06:37

1. 

#include<iostream>#include<string>using namespace std;int main(){string history, future;while (cin >> history >> future){auto it = history.begin();while (it != history.end()){if (((*it - 'A') >= 0 && (*it - 'A') < 26) ||((*it - 'a') >= 0 && (*it - 'a') < 26) ||((*it - '0') >= 0 && (*it - '0') < 10))*it = '1';else{*it = '0';}it++;}int total = history.size(),count = 0;for (int i = 0; i < total; i++){if (history[i] == future[i]) count++;}float predict = (float)count / total;predict *= 100000;if (predict + 0.00001 > 100000)cout << "100.00%" << endl;else{int temp = (int)predict;if (temp % 10 >= 5){temp = temp / 10;temp++;}else{temp = temp / 10;}if (temp >= 10000) cout << "100.00%" << endl;else if(temp >= 1000){cout << (char)('0' + temp / 1000);temp = temp % 1000;cout << (char)(temp / 100 + '0') << '.';temp = temp % 100;cout << (char)(temp / 10 + '0');temp = temp % 10;cout << (char)(temp + '0')<< '%' << endl;}else if (temp > 100){cout << (char)(temp / 100 + '0') << '.';temp = temp % 100;cout << (char)(temp / 10 + '0');cout << (char)(temp % 10 +'0') << '%' << endl;}else{cout << '0' << '.';cout << (char)(temp / 10 + '0') << (char)(temp%10 + '0') << '%' << endl;}}}}


0 0
原创粉丝点击