输入n和m,分别代表几进制、数值,输出十进制
输入:2 10101
输出:1*2^4+1*2^2+1*2^0
代码:
#include<stdio.h>
#include<string.h>
char m[100];//定义在main外目的为防止栈溢出,存放数值。
int main()
{
int i,j,n;
scanf("%d %s",&n,m) //m为数组首地址所以不需要加&。
for(i = 0,j = strlen(m)-1 ; i < strlen(m);i++,j--)//i指向每一个数,j为指数
{
if(i!=0&&m[i]!=0)
printf("+");//判断是否为第一个数,并且若第一个数为0则不输出。
if(m[i]!=0)
printf("%c*%d^%d",m[i],n,j);
}
return 0;
}