我创建了一个程序来将任何正十进制(基数为10)的数字转换为任何基数,并且运行良好。我如何实现它来说明负小数?
int main() {
int num, base, i, r, digit, p, count = 0;
char a[100];
printf("Enter a decimal number: \n");
scanf("%d", &num);
printf("Enter the base to convert to: \n");
scanf("%d", &base);
p=num;
do {
r = p % base;
digit = '0' + r;
if (digit > '9')
digit = digit+7;
a[count]=digit;
count++;
p=p/base;
} while (p!=0);
printf("\n%d in base %d is: \n",num, base);
for (i=count-1;i>=0;--i)
printf("%c",a[i]);
printf(".\n");
return 0;
}发布于 2019-10-02 10:32:02
您可以检查输入是否为负。如果是,则将其乘以-1得到一个正值,并在将该正值转换为另一个基数后,将该负号加回去。
https://stackoverflow.com/questions/58194451
复制相似问题