#include <stdio.h>
int main() {
int num, n, i, j, sum = 0;
int s[1000] = {0};
while (scanf("%d%d", &num, &n) != EOF) {
for (i = 0; num != 0; i++) {
if (n < 0) {
n = -n;
}
sum = num % n;
num = num / n;
s[i] = sum;
}
for (j = i - 1; j >= 0; j--) {
if (s[j] >= 10)
printf("%c", s[j] + 55);
else
printf("%d", s[j]);
}
printf("\n");
}
return 0;
}
你要先判断是否为负数,然后记住正负标志。再将收入值转换为正数进行转换。输出的时候如果是负数,先输出负号
#include <stdio.h>
int main() {
int num, n, i, j, sum = 0;
int s[1000] = {0};
while (scanf("%d%d", &num, &n) != EOF) {
if(num<0)
{
printf("-");
num = -num;
}
for (i = 0; num != 0; i++) {
sum = num % n;
num = num / n;
s[i] = sum;
}
for (j = i - 1; j >= 0; j--) {
if (s[j] >= 10)
printf("%c", s[j] + 55);
else
printf("%d", s[j]);
}
printf("\n");
}
return 0;
}