求教1个进制转换问题
用字符串数组来输入十六进制的数吧,用字符循环做麻烦
看看下面修改过的:
#include<stdio.h>
int f(char *s);
void main()
{
int flag=1;
char t[10],c;
while(flag)
{
printf(\"input a HEX number:\");
gets(t);//获取十六进制的数
printf(\"The (10) is %d\n\",f(t));
printf(\"continue or not(y/n):\");
c=getchar();
getchar();//消除回车的干然来进入下一次while循环
if(c=='n'||c=='N')
flag=0;
}
}int f(char *s)
{
int n=0,i;
for(i=0;i=='\0';i++)
{if(s[i]>='0'&&s[i]<='9')
n=n*16+s[i]-'0';
if(s[i]>='a'&&s[i]<='f')
n=n*16+s[i]-'a'+10;
if(s[i]>='A'&&s[i]<='Z')
n=n*16+s[i]-'A'+10;}
return n;}
[此贴子已经被作者于2006-7-17 19:51:30编辑过]