请编写一个C程序将一串字符中的偶数找出来
时间: 2024-03-03 19:46:56 浏览: 21
好的,可以使用如下 C 代码来实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
int nums[MAX_LEN / 2];
int cnt = 0;
// 读入字符串
printf("请输入一串数字,用空格隔开:\n");
fgets(str, MAX_LEN, stdin);
str[strlen(str) - 1] = '\0'; // 去掉换行符
// 将字符串转换为整数列表
char *token = strtok(str, " ");
while (token != NULL) {
int num = atoi(token);
if (num % 2 == 0) {
nums[cnt++] = num;
}
token = strtok(NULL, " ");
}
// 输出结果
if (cnt == 0) {
printf("该字符串中没有偶数!\n");
} else {
printf("该字符串中的偶数为:");
for (int i = 0; i < cnt; i++) {
printf("%d ", nums[i]);
}
printf("\n");
}
return 0;
}
```
使用方法:
在终端中编译并运行该程序:
```
gcc -o find_even_numbers find_even_numbers.c
./find_even_numbers
```
然后输入一串数字,用空格隔开,例如:
```
1 2 3 4 5 6 7 8 9 10
```
程序会输出该字符串中的偶数:
```
该字符串中的偶数为:2 4 6 8 10
```
注意:该代码假设输入的字符串中只包含空格分隔的整数,如果输入字符串中包含其他字符,可能会导致程序出错。