您的位置:首页 > 其它

UVa389 - Basically Speaking

2012-02-22 19:58 302 查看
#include <cstdio>

#include <cstring>

#include <stack>

using namespace std;

#define N 30

int main()

{

char input
;

int a, b;

int i;

int lenOfInput;

int sum;

int c;

stack<int> s;

char res
;

#ifndef ONLINE_JUDGE

freopen("d:\\uva_in.txt", "r", stdin);

#endif

while (scanf("%s%d%d", input, &a, &b) == 3) {

lenOfInput = strlen(input);

for (i = 0, sum = 0; i < lenOfInput; i++) {

if (input[i] >= '0' && input[i] <= '9')

c = input[i] - '0';

else

c = input[i] - 'A' + 10;

sum = sum * a + c;;

}

if (sum == 0) {

printf("%7s\n", "0");

continue;

}

while (sum) {

s.push(sum % b);

sum /= b;

}

c = 0;

while (!s.empty()) {

i = s.top();

s.pop();

if (i >= 10)

res[c++] = i - 10 + 'A';

else

res[c++] = i + '0';

}

res[c] = '\0';

if (c > 7)

printf("%7s\n", "ERROR");

else

printf("%7s\n", res);
}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  input include c