字符串转换成十进制整数(C语言实现)

短命女 2023-07-19 08:24 104阅读 0赞

习题7-8 字符串转换成十进制整数(C语言实现)

  1. #include <stdio.h>
  2. #include <ctype.h>
  3. int main()
  4. {
  5. int sum=0,flag1=0,flag2=0;//flag1标识符号,flag2标识第一个十六进制字符
  6. char ch;
  7. while((ch=getchar()) != '#')
  8. {
  9. ch = tolower(ch);
  10. if(!flag1 && !flag2 && ch == '-')//出现十六进制字符后的'-'不输出
  11. flag1=1;//十六进制字符前的'-'号
  12. if((ch>='0' && ch<='9') || (ch>='a' && ch<='f'))
  13. {
  14. flag2=1;//十六进制字符出现
  15. if(ch>='0' && ch<='9')
  16. sum = sum*16 +ch-'0';
  17. if(ch>='a' && ch<='f')
  18. sum = sum*16 +ch-'a'+10;
  19. }
  20. }
  21. if(sum)
  22. {
  23. if(flag1)
  24. printf("-");
  25. printf("%d\n",sum);
  26. }
  27. else
  28. printf("0");
  29. return 0;
  30. }

发表评论

表情:
评论列表 (有 0 条评论,104人围观)

还没有评论,来说两句吧...

相关阅读

    相关 字符串转换十进制整数

    输入一个以\结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字

    相关 字符串转换十进制整数

    输入一个以\结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字