概述
最佳答案
这道题不算难,就是筛选除了a,b,c,d,e,f和数字之外的所有字符,然后把十六进制数转换为十进制数,你等我写一下程序再发上来。追答:
#include #include = "0" && ch = "a" && ch <= "f")){ return 1; } else{ return 0; }}double calc(char *pCh,int i){ int j; double num=0,sum=0; for(j = 0 ; j = "0" && pCh[j] <= "9"){ num = (double)(pCh[j] - "0"); } else{ num = (double)(pCh[j] - "a" + 10); } sum += num*pow(16,i-j-1); } return sum;}int main(){ char ch; char chNum[32]; int flag = 1,i=0; while((ch = getchar()) != "#"){ if(ch == "-" && !i){ flag = -1; continue; } else if(ch == "+" && !i){ flag = 1; continue; } if(isRightCh(ch)){ chNum[i] = ch; i ++; } } printf("%.0lfn",flag*calc(chNum,i)); return 0;}我测试了一下,结果是对上了。
追答:
第一个函数被系统过滤掉了点,下面这个就是:int isRightCh(char ch){ if((ch >= "0" && ch = "a" && ch <= "f")){ return 1; } else{ return 0; }}
追答:
你把所有不懂的地方写出来,等我一次给你解答清楚。
追问:
十分感谢大神帮忙!!但是我看不懂。我照着大神说的打了下代码,麻烦大神帮我看看哪里错了!#includeint main(void){char str[81],zhs[81];int i=0,n,m,t,j=0,sum=0;printf("请输入字符串:n");while (1){str[i] = getchar();if(str[i] == "#") break;i++;}n=i;for(i=0;i=48&&str[i]=97&&str[i]
追问:
#includeint main(void){char str[81],zhs[81];int i=0,n,m,t,j=0,sum=0;printf("请输入字符串:n");while (1){str[i] = getchar();if(str[i] == "#") break;i++;}n=i;for(i=0;i=48&&str[i]=97&&str[i]
追问:
#includeint main(void){char str[81],zhs[81];int i=0,n,m,t,j=0,sum=0;printf("请输入字符串:n");while (1){str[i] = getchar();if(str[i] == "#") break;i++;}n=i;
追问:
n=i;for(i=0;i=48&&str[i]=97&&str[i]
追问:
for(i=0;i
追问:
无语,系统一直过滤掉,我直接去主页发吧,感谢大神!
最佳答案由网友 提供
最后
以上就是眼睛大冷风为你收集整理的C语言字母转十进制,c语言十进制转换_C语言 字符串转换成十进制整数的全部内容,希望文章能够帮你解决C语言字母转十进制,c语言十进制转换_C语言 字符串转换成十进制整数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复