【初学者】进制转换在devc++无法运行
#include <stdio.h>main()
{ int base,i;
char num[20];
float s=0;
do
{
printf("输入数的进制(<=16):");
scanf("%d",&base);
}while(base<1&&base>=16);
printf("输入该进制的一个整数:");
scanf("%s",num);
i=0;
while(num[i]!='\0')
{
switch(num[i])
{
case 'a':
case 'A': s=s*base+10;break;
case 'b':
case 'B': s=s*base+11;break;
case 'c':
case 'C': s=s*base+12;break;
case 'd':
case 'D': s=s*base+13;break;
case 'e':
case 'E': s=s*base+14;break;
case 'f':
case 'F': s=s*base+15;break;
case '9': case '8': case '7': case '6': case '5':
case '4': case '3': case '2': case '1': case '0':
s=s*base+num[i]-'0';break;
}
i++;
}
printf("%d进制整数%s的十进制结果为%g\n",base,num,s);
}
[[it] 本帖最后由 kogm123 于 2008-5-20 12:49 编辑 [/it]]