c语言:编写函数将源字符串 s(长度小于 20)中所有数组下标为奇数的字符或ASCII码为偶数的字符放入目标字符串 t中。 并在主函数中输出目标字符串。
时间: 2024-03-15 18:47:39 浏览: 154
以下是 C 语言的代码实现:
```c
#include <stdio.h>
#include <string.h>
void filter(char s[], char t[]) {
int len = strlen(s);
int j = 0;
for (int i = 0; i < len; i++) {
if (i % 2 == 1 || s[i] % 2 == 0) {
t[j] = s[i];
j++;
}
}
t[j] = '\0';
}
int main() {
char s[20], t[20];
printf("请输入字符串 s:");
scanf("%s", s);
filter(s, t);
printf("目标字符串 t 为:%s\n", t);
return 0;
}
```
函数 `filter` 的作用是将源字符串 `s` 中所有数组下标为奇数的字符或 ASCII 码为偶数的字符放入目标字符串 `t` 中。在主函数中,我们首先读入字符串 `s`,然后调用 `filter` 函数进行过滤,最后输出目标字符串 `t`。
相关问题
C语言:编写函数将源字符串 s(长度小于 20)中所有数组下标为奇数的字符或ASCII码为偶数的字符放入目标字符串 t中。 并在主函数中输出目标字符串。
可以按照以下步骤实现:
1. 首先,定义一个函数,函数名为 filter,传入两个参数,一个是源字符串 s,一个是目标字符串 t。函数返回值为 void。
2. 在函数内部,使用一个 for 循环遍历源字符串 s,判断当前字符的下标是否为奇数,或者当前字符的 ASCII 码是否为偶数,如果是,就将该字符放入目标字符串 t 中。
3. 在主函数中,定义两个字符数组 s 和 t,分别输入源字符串 s 并调用 filter 函数进行过滤,最后输出目标字符串 t。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void filter(char s[], char t[]) {
int len = strlen(s);
int j = 0;
for (int i = 0; i < len; i++) {
if (i % 2 == 1 || s[i] % 2 == 0) {
t[j++] = s[i];
}
}
t[j] = '\0';
}
int main() {
char s[20], t[20];
printf("请输入源字符串 s:\n");
scanf("%s", s);
filter(s, t);
printf("目标字符串 t 为:%s\n", t);
return 0;
}
```
注意,该代码仅作为示例,可能存在输入不合法、越界等问题,需要根据实际情况进行完善。
c语言中编写函数将源字符串 s(长度小于 20)中所有数组下标为奇数的字符或ASCII码为偶数的字符放入目标字符串 t中。 并在主函数中输出目标字符串。
以下是一个实现该功能的示例代码:
```c
#include <stdio.h>
#include <string.h>
void filter_string(const char* s, char* t) {
int i, j;
int len = strlen(s);
for (i = 0, j = 0; i < len; i++) {
if (i % 2 == 1 || s[i] % 2 == 0) {
t[j++] = s[i];
}
}
t[j] = '\0'; // 末尾加上字符串结束符
}
int main() {
char s[20], t[20];
printf("请输入源字符串 s:");
scanf("%s", s);
filter_string(s, t);
printf("目标字符串 t 为:%s\n", t);
return 0;
}
```
在这个程序中,`filter_string` 函数接受两个参数:源字符串 `s` 和目标字符串 `t`。函数遍历源字符串 `s` 的每个字符,如果字符的下标是奇数或者 ASCII 码值是偶数,就将该字符添加到目标字符串 `t` 中。最后,在目标字符串 `t` 的末尾添加上一个字符串结束符号 `\0`,以表示字符串的结束。
在主函数中,我们首先从标准输入中读入源字符串 `s`,然后调用 `filter_string` 函数生成目标字符串 `t`,最后将 `t` 输出到标准输出中。
阅读全文