C语言编写一个函数,原型为 void fun( char *s,char t[ ]);其功能为:将 s 所指字符串中下标为 奇数且 ASCII 码值为偶数的字符删除,s 中剩余字符形成的新串放在 t 数组中,主函数中输 入字符串,调用这个子函数,并输出结果字符串。
时间: 2024-12-13 22:17:03 浏览: 29
在C语言中,你可以编写如下的函数来完成这个任务:
```c
#include <stdio.h>
#include <string.h>
// 定义函数fun的原型
void fun(char* s, char t[]);
int main() {
// 主函数部分
char input[100], result[100];
printf("请输入一个字符串:");
fgets(input, sizeof(input), stdin); // 从用户输入读取字符串,包括换行符
input[strcspn(input, "\n")] = '\0'; // 清除fgets留下的换行符
// 调用fun函数并传递输入字符串和结果数组
fun(input, result);
// 输出处理后的字符串
printf("处理后的字符串为:%s\n", result);
return 0;
}
// 函数fun的实现
void fun(char* s, char t[]) {
int i = 0, j = 0; // i用于遍历原字符串,j用于存储新字符串
for (i = 0; s[i]; i++) { // 遍历直到遇到字符串结束符'\0'
if ((i % 2) != 0 && (s[i] & 1) == 0) { // 如果字符索引是奇数且ASCII码值为偶数
t[j++] = s[i]; // 将符合条件的字符复制到结果数组
}
}
t[j] = '\0'; // 结束字符串,添加空字符
}
```
在这个程序中,`fun`函数会检查每个字符是否位于奇数位置且ASCII值为偶数,如果是,则将其添加到`t`数组中。最后,`main`函数调用`fun`并将结果输出。
阅读全文