题目:输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。
源码:
#include <stdio.h>
int main(void)
{
char str_old[81],str_new[81];
int i = 0,j,flag = 0,temp; //flag用来表示是否有负号存在,0表示负数,1表示正数
long sum = 0;
while((str_old[i] = getchar()) != '#')
i++; //输入一个以'#'结束的非空字符串
str_old[i] = '\0';
for(i = 0