c语言输出将一个字符串中的元音字母(a、e、i、o、u)复制到另一个字符串,然后按照ASCII码从小到大的顺序输出。
时间: 2023-06-14 11:02:54 浏览: 123
C语言实验输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这3个字符及其对应的ASCII码值。
5星 · 资源好评率100%
以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s1[100], s2[100];
int i, j = 0;
printf("输入字符串:");
gets(s1);
for (i = 0; s1[i] != '\0'; i++) {
switch (s1[i]) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
s2[j++] = s1[i];
break;
}
}
s2[j] = '\0';
int len = strlen(s2);
for (i = 0; i < len - 1; i++) {
for (j = i + 1; j < len; j++) {
if (s2[i] > s2[j]) {
char temp = s2[i];
s2[i] = s2[j];
s2[j] = temp;
}
}
}
printf("输出字符串:");
puts(s2);
return 0;
}
```
代码的思路是:先遍历输入字符串,将其中的元音字母复制到另一个字符串,并记录元音字母的数量。然后对新字符串进行排序,最后输出排序后的字符串。
需要注意的是,这里用到了 gets 函数来读入字符串,但是 gets 函数不安全,可能会导致缓冲区溢出,建议使用 fgets 函数代替。
阅读全文