c语言输入一串数字,取第二第三第四个数字组成的数与第六第七个数字组成的数相加后输出
时间: 2024-11-13 09:42:00 浏览: 15
pta题库答案c语言 - C语言PTA平台习题与答案
在C语言中,如果你想要从用户输入的一串数字中提取特定位置的数字相加,你需要先接收用户的输入,并将其分割成单个字符。然后根据指定位置(如第二个、第三个等)转换这些字符为整数。最后对指定位置的两个数字进行求和并输出结果。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符的函数
int main() {
char input[100]; // 存储输入的数字字符串
fgets(input, sizeof(input), stdin); // 接收用户输入,忽略换行符
input[strcspn(input, "\n")] = '\0'; // 清除fgets添加的换行符
int num1 = 0, num2 = 0, num3 = 0, num4 = 0, num5 = 0, num6 = 0; // 分别存放数字
for (size_t i = 0; i < strlen(input); ++i) {
if (isdigit(input[i])) { // 判断字符是否为数字
num1 = num1 * 10 + (input[i] - '0'); // 对于第二个、第四个数字
num3 = num3 * 10 + (input[i] - '0'); // 第三个、第五个数字
}
if (i > 1 && isdigit(input[i - 2]) && isdigit(input[i - 1])) { // 取得第六、第七个数字
num5 = num5 * 10 + (input[i - 2] - '0');
num6 = num6 * 10 + (input[i - 1] - '0');
}
}
int result = num1 + num3 + num5 + num6; // 相加计算总和
printf("四、六、七位数之和: %d\n", result);
return 0;
}
```
阅读全文