小白求帮助诸位

C语言 码拜 9年前 (2016-04-19) 902次浏览
本人用的是VC6.0,照着书上的C语言教程学着写的,题目和编程如下,问题是运行后没有输出十进制数!为什么呢?高手求指点!
输入一个N进制数,把它转成十进制数并输出。
编程如下:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void main()
{
char a[30];int i,n,l,s,t=0;
printf(“please input mumbers and characters\n”);
gets(a);
l=strlen(a);
strupr(a);
printf(“please input a mumber\n”);
scanf(“%d\n”,&n);
for(i=0;i<l;i++)
{
if(a[i]-“0”>=n&&a[i]<“A”||a[i]-“A”+10>=n)
{printf(“error”);
exit(0);}
if(a[i]>=”0″&&a[i]<=”9″) s=a[i]-“0”;
else if (n>=11&&(a[i]>=”A”&&a[i]-“A”+11<=n)) s=a[i]-“A”+10;
t=t*n+s;
}
printf(“十进制是:%d\n”,t);
}
解决方案

40

scanf(“%d\n”,&n);多了一个\n
改成

scanf("%d",&n);

20

scanf(“%d\n”,&n);多了一个\n

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明小白求帮助诸位
喜欢 (0)
[1034331897@qq.com]
分享 (0)