#include<stdio.h>
#include<string.h>
main()
{
long t1;
int i,n,t,t3;
char a[100];
printf("请输入一个数字:\n");
gets(a);
strupr(a);
t3=strlen(a);
t1=0;
printf("请输入进制数:\n");
scanf("%d",&n);
for(i=0;i<t3;i++)
{
if(a[i]-'0'>=n&&a[i]-'A'||a[i]-'A'+10>=n)
{
printf("数据错误!!");
exit(0);
}
if(a[i]>='0'&&a[i]<='9')
t=a[i]-'0';
else if (n>=11&&(a[i]>='A'+n-10))
t=a[i]-'A'+10;
t1=t1*n+t;
}
printf("十进制结果是:%ld\n",t1);
}
这个算法能不能详解一下