c语言的n进制转换为10进制

#include<string.h>
int main()
{long t1;
int i,n,t,t3;
char a[100];
printf("please input anumber string:\n");
gets(a);
strupr(a);
t3=strlen(a);
t1=0;
scanf("%d",&n);
for(i=0;i<t3;i++)
{if(a[i]-'0'>=n&&a[i]<'A'||a[i]-'A'+10>=n)
{
printf("erro");
    }    
if(a[i]>='0'&&a[i]<='9')
t=a[i]-'0';
else if(n>=11&&(a[i]>='A'&&a[i]<='A'+n-10))    
t=a[i]-'A'+10;
t1=t1*n+t;
}
printf("%d\n",t1);    
return 0;

}

猜你喜欢

转载自blog.csdn.net/qq_41479464/article/details/82763158