#include <stdio.h>
#define size 100
void Jinzhi(int num, int x)
{
char stack[size] = {0};
int count = 0; //序号
int r; //余数
while (num != 0)
{
r = num % x;
if (r >= 10)
{
stack[++count] = (char)(num % x + 55);
num = num / x;
}
else
{
stack[++count] = (char)(num % x + 48);
num = num / x;
}
}
while (count > 0)
{
printf("%c", stack[count--]);
}
printf("\n");
}
void conversion()
{
int n, x;
do
{
printf("输入一个正整数:");
scanf("%d", &n);
if (n < 1)
{
printf("输入错误!输入的不是正整数!");
}
} while (n < 1);
do
{
printf("请输入你需要改变的进制(2-36):");
scanf("%d", &x);
if (x < 1 || x > 36)
{
printf("输入进制错误!请重新输入!");
}
else
{
Jinzhi(n, x);
}
} while (x < 1 || x > 36);
}
int main()
{
conversion();
return 0;
}
用代码实现2-36进制转换(C语言)
最新推荐文章于 2024-05-30 21:35:46 发布