#include "stdio.h"
main()
{
int i;
long dec,htod(char d[]);
char d[10],loop='y',c;
for(;loop=='y'||loop=='Y';)
{
i=0;
while((c=getchar())!='\n')
{
if(c>='0'&&c<='9'||c>='A'&&c<='F'||c>='a'&&c<='f')
{
d[i]=c; i++; /*若输入的字符是十六进制允许的字符,存入d数组*/
if(i>=8)break; /*最多八位*/
}
d[i]='\0'; /*数组最后一个元素赋'\0'*/
dec=htod(d); /*调用转换函数*/
}
printf("The decimal number is %ld\n",dec);
printf("continue? Y/N");
scanf("%2c",&loop);
}
}
long htod(char de[])
{
char c;
int i; long dec=0;
for(i=0;(c=de[i])!='\0';i++)
/* 循环将de数组的各元素拼成十进制数 */
if(c>='0'&&c<='9')dec=dec*16+c-'0';
else if(c>='a'&&c<='f')dec=dec*16+c-'a'+10;
else if(c>='A'&&c<='F')dec=dec*16+c-'A'+10;
return dec;
}
/* HELLO.C -- Hello, jat chan */
#include \"stdio.h\"
#include \"conio.h\"
main()
{
printf(\"Hello, jat chan\\n\");
getch();
}