问题描述
- 进制转换问题,只有25分实在不知道哪里有问题(16-10)
- #include
#include
#includeint getVal(char ch)
{
if(ch>='0' && ch<='9')
{
return ch - '0';
}
else
{
return ch - 'A' + 10;
}
}int main()
{
char ch[10];
int len i val;
long int sum = 0;gets(ch);len = strlen(ch);for(i=0; i<len; i++){ val = getVal(ch[i]); sum += val * pow(16 i);}printf(""%u "" sum);return 0;
}
解决方案
281016进制转化问题
16进制转换出现FFFFFFFF的问题
解决方案二:
#include <string.h>#include""stdio.h""#include ""math.h""int getVal(char ch){ if(ch>='0' && ch<='9') { return ch - '0'; } else { return ch - 'A' + 10; }}int main(){ char ch[10]; int len i val; long int sum = 0; gets(ch); len = strlen(ch); for(i=0; i<len; i++)//修改 { val = getVal(ch[len-i-1]);//修改 sum += val * pow(16.0 i);//修改 } printf(""%ld
"" sum);//格式不对 return 0;}
时间: 2024-11-08 22:11:34