#include <stdio.h>
#define MAXN 80
int main()
{
char str[MAXN];
int i, number, flag;
i = 0;
while ((str[i] = getchar()) != '#')
i++;
str[i] = '\0';
flag = 1;
for (i = 0; str[i] != '\0'; i++)
{
if ((str[i] >= 'a' && str[i] <= 'f') || (str[i] >= 'A' && str[i] <= 'F') || (str[i] >= '0' && str[i] <= '9'))
break;
if (str[i] == '-')
{
flag = 0;
break;
}
}
number = 0;
for (i = 0; str[i] != '\0'; i++)
{
if (str[i] >= '0' && str[i] <= '9')
number = number * 16 + str[i] - '0';
else if (str[i] >= 'a' && str[i] <= 'f')
number = number * 16 + str[i] - 'a' + 10;
else if (str[i] >= 'A' && str[i] <= 'F')
number = number * 16 + str[i] - 'A' + 10;
}
if (flag)
printf("%d", number);
else
printf("%d", -number);
return 0;
}
浙大版《C语言程序设计(第3版)》题目集 习题7-8 字符串转换成十进制整数 (15分)
最新推荐文章于 2022-05-16 22:28:19 发布