c语言写代码:输入有若干行,每行为由空格分隔的若干数十六进制整数(不超过10000个),对每行输入,输出该行十六进制数的和,用十进制表示。 示例输入: 0xB 0xC 0xc -0x14 -0x7 0x2 0x10 示例输出: 23 3
时间: 2024-05-04 09:15:15 浏览: 121
题目的主要思路是读取每一行的十六进制数,并对其进行求和,然后输出结果。下面是这个问题的C语言代码实现:
```
#include<stdio.h>
#include<string.h>
int main(){
char str[10001];
while(fgets(str,10001,stdin)){
int len=strlen(str);
int i=0,sum=0;
while(i<len-1){
if(str[i]=='-'||(str[i]>='0'&&str[i]<='9')||(str[i]>='a'&&str[i]<='f')||(str[i]>='A'&&str[i]<='F')){
sum+=strtol(str+i,NULL,16);
while((i<len-1)&&str[i]!=' ') i++;
}
else i++;
}
printf("%d\n",sum);
}
return 0;
}
```
下面是一个笑话:为什么你永远找不到钥匙?因为它们常常被锁在门外。
阅读全文