# include<stdio.h>
# include<stdlib.h>
# include<math.h>
# include <string.h> //储存了stelen函数
int main(void)
{
//先将n进制转化为10进制
int a; //a是要输入的某进制
int e; //检查数组的长度
int f;//将字符换成变量保存
int g;//收集被N除的余数
int sum = 0; //记录a的十进制数
int i, j; //定义循环变量
int n; //n是转换的n进制
int N; //要转换成的N进制
char c[36]; //定义要输出的字符串
char d[36];//定义要输入的字符串
printf("输入您要转换的进制:");
scanf("%d", &n);
printf("\n输入您要转换的进制数:");
scanf("%s", &d);
printf("请输入您要转化的进制:");
scanf("%d", &N);//要转换成的N进制
e = strlen(d);//获取用户输入了多少个元素的数
j = 0;
for(i = e-1; i >= 0; i--)
{
if (d[i] >= '0' && d[i] <= '9')
{
f = d[i] - 48;
sum = ( pow(n, j )* f )+ sum;
j++;
}
else if (d[i] >= 'A' && d[i] <= 'Z')
{
f = d[i] - 55;
sum =( pow(n, j) * f )+ sum;
j++;
}
}
printf("十进制为%d\n",sum);
// printf("\nsum = %d\t", sum);
// printf("stelen = %d", e);
//****************************************************************将输入的值换成10进制
i = 0;//重新给i定义
while(sum >= 1)
{
g = sum % N;
if(g >= 0 && g <= 9)
{
g = g + 48;
}
else if(g >=10 && g<20)
{
g = g + 55;
}
c[i] = g;
i++;
sum = sum / N;
} //将十进制转换成其他进制
//***************************************************************将10进制换成其他进制
i--;
for(j = i; j >= 0; j--)//将余数倒过来
printf("%c", c[j]);
printf("\n");
//***************************************************************倒序输出这个字符数组
system("pause");
return 0;
}
一个下午就这样没了 ┭┮﹏┭┮