#include<iostream>
#include<math.h>
#include<string.h>
using namespace std;
#define N 10
int function(char a[])
{
int i,c,sum=0;
int b[N];
c=strlen(a);
for(i=0;i<c;i++)
{
if('A'<=a[i]&&a[i]<='E')
b[i]=a[i]-55;
else if('a'<=a[i]&&a[i]<='e')
b[i]=a[i]-87;
else
b[i]=a[i]-48;//因為char類型的數字0對應十進制的48,這下妳就懂了吧!!!
}
cout<<endl;
for(i=0;i<c;i++)
sum=int(sum+b[i]*pow(16,c-1-i));
return sum;
}
main()
{
char a[N];
printf("Please input a string:\n");
gets(a);
printf("%d\n",function(a));
return 0;
}
妳可以試壹下子,我已經再改的地方做了註釋,而且,必須將char類型數字改成int型的數字,否則會產生不確定的錯誤!!!希望滿意,給分啊親!