PAT1057 数零壹 (20 分)
生活随笔
收集整理的這篇文章主要介紹了
PAT1057 数零壹 (20 分)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
這題測試點有個不合理的地方:
沒有英文字符的字符串。這個時候需要輸出0 0,而不是1 0(25行)
代碼
#define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; int main() {//十進制char c;int total = 0;while (cin >> c){if (c >= 'a'&&c <= 'z'){total += (int)(c - 'a') + 1;}else if (c >= 'A'&&c <= 'Z'){total += (int)(c - 'A') + 1;}}//二進制int num0 = 0;int num1 = 0;if (total == 0)num0 = 0;//如果沒有任何英文 這是PAT的bug吧??難道0的個數不是1嗎??else{while (total != 1 && total != 0){if (total % 2 == 1){num1++;total /= 2;}else if (total % 2 == 0){num0++;total /= 2;}}num1++;}cout << num0 << ' ' << num1 << endl;system("pause"); }總結
以上是生活随笔為你收集整理的PAT1057 数零壹 (20 分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PAT1055 集体照 (25 分)【3
- 下一篇: 算法设计与分析(第三周)递归求阶乘