满意答案
9o9e
推荐于 2016.11.19
采纳率:50% 等级:9
已帮助:814人
#include
#include
void main()
{
double cov(int i,char a[]);
char a[100],tmpc=0;//定义一个用来保存getchar函数返回值
int i=0;
printf("please input the number(16):");
while((tmpc=getchar())!='\n')
{
a[i]=tmpc;//这里不要getchar,否则会再次去输入流获取字符,确保一次循环一个字符
i++;
}
//错就错在这个a,获取的字符不对
printf("The number(10) is : %f.\n",cov(i,a));
}
//下面都是对的
double cov(int i,char a[])
{
int j;
double s=0;
for(j=0;j
{
if(a[j]>='a'&& a[j]<='f')
a[j]-=87;
else if(a[j]>='A'&& a[j]<='F')
a[j]-=55;
else if(a[j]>='0'&&a[j]<='9')
a[j]-='0';
s+=a[j]*pow(16,i-1-j);
}
return s;
}
00分享举报