编写函数void fun(char a[],char c[]),实现将一个字符串a中的所有小写的元音字母(26个英文字母中的元音字母仅有a,e,i,o,u五个)复制到字符串c中的功能,用主函数调用,最后输出数组c中的所有元素,字符串长度不超过20。
时间: 2024-05-09 08:16:44 浏览: 108
以下是实现该功能的代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void fun(char a[], char c[]) {
int len_a = strlen(a);
int j = 0; // 指向c数组的下标
for (int i = 0; i < len_a; i++) {
char ch = a[i];
// 判断是否为小写元音字母
if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
c[j++] = ch;
}
}
c[j] = '\0'; // 在c数组末尾加上'\0',变成字符串
}
int main() {
char a[21], c[6]; // 字符串长度不超过20,c数组最多存储5个元音字母
cout << "请输入字符串a:";
cin >> a;
fun(a, c);
cout << "字符串c中的所有元素为:" << c << endl;
return 0;
}
```
测试:
输入:hello
输出:字符串c中的所有元素为:eo
相关问题
编写函数void fun(char *s ,char *t),将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指字符数组中。用c语言编写且有主函数
下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
void fun(char *s, char *t) {
int i, j = 0;
for (i = 0; s[i] != '\0'; i++) {
if (i % 2 == 0 || s[i] % 2 == 0) {
t[j++] = s[i];
}
}
t[j] = '\0';
}
int main() {
char s[100], t[100];
printf("请输入字符串s:");
scanf("%s", s);
fun(s, t);
printf("处理后的字符串t为:%s\n", t);
return 0;
}
```
函数 `fun()` 接受两个参数,分别是源字符串 `s` 和目标字符串 `t`。函数中使用循环遍历源字符串中的每个字符,如果该字符位于奇数位置或其 ASCII 码为偶数,则将其添加到目标字符串中。最后,将目标字符串末尾的字符设为 '\0',以标记字符串的结束。
在 `main()` 函数中,首先输入源字符串 `s`,然后调用 `fun()` 函数进行处理,将结果存储在目标字符串 `t` 中,并输出由 `fun()` 处理后的字符串 `t`。
用C++编写函数void fun(char *a)
可以实现将一个字符串中的所有大写字母转换为小写字母的功能。
以下是函数的实现代码:
```
void fun(char *a)
{
int i = 0;
while (a[i] != '\0')
{
if (a[i] >= 'A' && a[i] <= 'Z')
{
a[i] = a[i] + 32;
}
i++;
}
}
```
函数的参数是一个字符指针,即一个字符串的首地址。函数使用了一个循环,遍历字符串中的每一个字符,判断是否是大写字母,如果是则将其转换为小写字母。最终实现了将字符串中的所有大写字母转换为小写字母的功能。
阅读全文