c语言 复制一个字符串中元音字母到另一个字符串按照ASCII码从小到大输出
时间: 2023-06-16 19:04:03 浏览: 129
下面是一个示例程序,可以实现将一个字符串中的元音字母复制到另一个字符串,并按照ASCII码从小到大输出。
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
int i, j = 0;
printf("请输入一个字符串:");
gets(str1);
for (i = 0; i < strlen(str1); i++) {
if (str1[i] == 'a' || str1[i] == 'e' || str1[i] == 'i' || str1[i] == 'o' || str1[i] == 'u' ||
str1[i] == 'A' || str1[i] == 'E' || str1[i] == 'I' || str1[i] == 'O' || str1[i] == 'U') {
str2[j++] = str1[i];
}
}
str2[j] = '\0';
for (i = 0; i < strlen(str2); i++) {
for (j = i + 1; j < strlen(str2); j++) {
if (str2[i] > str2[j]) {
char temp = str2[i];
str2[i] = str2[j];
str2[j] = temp;
}
}
}
printf("复制后的元音字母为:%s\n", str2);
return 0;
}
```
这个程序中,我们首先定义了两个字符数组 `str1` 和 `str2`,分别用来存储输入的字符串和复制后的元音字母。
然后我们使用一个循环遍历输入的字符串中的每一个字符,如果这个字符是元音字母,就将它复制到 `str2` 中。复制的过程中,我们使用一个整型变量 `j` 来记录 `str2` 中已经存储的元音字母个数。
复制完成后,我们再使用两层循环来对 `str2` 中的元音字母进行排序,排序的方法是比较每一对相邻的元素,如果前一个元素的 ASCII 码比后一个元素的 ASCII 码大,就将它们交换位置。这样,最终就能够按照 ASCII 码从小到大输出复制后的元音字母了。
阅读全文