可加高分!谁能帮我用C语言编一下这个程序,最好带说明,谢了

来源:百度知道 编辑:UC知道 时间:2024/05/26 18:05:09
1.键盘上任意输入一个任意进制的整数及它的进制。
2.根据其它进制的数化成十进制数的计算方法,编写程序将其转换成十进
制的数。
例如: 设输入的数为:a0a1a2…an
其进制为:base
则 mun=an×basen-1+an-1×basen-2+…a1×base1+a0×base0

#include <stdio.h>
void main()
{
char s[100];
int i=1,j,c;
long t;
while (i)
{
printf("intput the base:\n");
scanf("%d",&c);
if(c==0)break; /*i=0;*/
printf("intput a number:\n");
scanf("%s",s);
for(j=0;j<strlen(s)-1;j++)
{
t=c*(s[j]-0x30)+s[j+1]-0x30;
s[j+1]=t+0x30;
}
printf("in DEC:%ld\n",t);
}
}

//只是模拟10以下的进制,因10以上的就复杂了,虽然原理完全一样。
//数制输入0时,程序结束。