写函数 fun,其功能是:将输入的字符串中所有偶数位上的字母转换为大写,如果是数 字,为偶数的变成 0,其余情况均不变。c语言
时间: 2024-10-05 15:00:38 浏览: 36
在C语言中,我们可以创建一个名为`fun`的函数来实现这个需求。这是一个递归函数,因为我们需要遍历字符串中的每个字符,同时还需要处理奇偶位置。下面是相应的代码实现:
```c
#include <stdio.h>
#include <ctype.h> // 包含isalpha() 和 isdigit() 函数
void convert_char(char *str, int index) {
// 判断字符位置是否是偶数
if (index % 2 == 0) {
// 对于字母,转为大写
if (isalpha(*str)) {
str[index] = toupper(str[index]);
// 对于数字,如果是偶数位,转换为0
} else if (isdigit(*str)) {
str[index] = '0';
}
}
}
void fun(char *str) {
if (*str) { // 遍历整个字符串,直到遇到空字符 '\0'
convert_char(str, 0); // 处理第一个字符
fun(str + 1); // 递归处理剩余部分
}
}
int main() {
char input[100];
printf("Enter a string: ");
fgets(input, sizeof(input), stdin); // 读取输入字符串,包括换行符
// 移除fgets留下的换行符
input[strlen(input) - 1] = '\0';
fun(input);
printf("Modified string: %s\n", input);
return 0;
}
```
当你运行这个程序并输入一个字符串,奇数位置的字符保持原样,偶数位置的字母变为大写,数字如果处于偶数位置则会被替换为0。
阅读全文