n进制转化十进制,哪里错了

C语言 码拜 8年前 (2016-05-12) 897次浏览
#include<stdio.h>
#include<string.h>
int 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”&&a[i]<=”A”+n-10))
t=a[i]-“A”+10;
t1=t1*n+t;

}
printf(“十进制形式为:\n”);
}

解决方案

80

1.if (a[i] – “0” >= n&&a[i] < “A” || a[i] – “A” + 10 >= n)
你确定这是你想要的逻辑?不需要加个括号?
2.if (a[i] >= “0”&&a{ i } <= “9”)这里应该是a[i]不是a{i}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明n进制转化十进制,哪里错了
喜欢 (0)
[1034331897@qq.com]
分享 (0)