PAT乙级1002 部分正确是怎么回事
y思无邪 2017-11-29 09:33:56 代码如下:
#include<iostream>
using namespace std;
int main() {
int n;
int sum = 0;
while ((n = getchar())!='\n')
sum += (n-'0') ;
int a[3]; int i = 0;
while (sum >= 10) {
a[i] = sum % 10;
i++;
sum /= 10;
}
if (sum < 10) a[i] = sum;
for (int j = i; j >= 0; j--) {
switch (a[j]) {
case 1:cout << "yi"; if (j != 0)cout << ' '; break;
case 2:cout << "er"; if (j != 0)cout << ' '; break;
case 3:cout << "san"; if (j != 0)cout << ' '; break;
case 4:cout << "si"; if (j != 0)cout << ' '; break;
case 5:cout << "wu"; if (j != 0)cout << ' '; break;
case 6:cout << "liu"; if (j != 0)cout << ' '; break;
case 7:cout << "qi"; if (j != 0)cout << ' '; break;
case 8:cout << "ba"; if (j != 0)cout << ' '; break;
case 9:cout << "jiu"; if (j != 0)cout << ' '; break;
}
}
return 0;
}
错误如下:
测试点 结果 用时(ms) 内存(kB) 得分/满分
0 答案正确 4 384 12/12
1 答案错误 8 384 0/1
2 答案正确 9 384 1/1
3 答案正确 5 380 2/2
4 答案正确 11 376 2/2
5 答案正确 9 372 2/2