解题思路:

定义两个字符数组,在第一个输入的数组中判断字符串中是否有元音字母,如果有则输入第二个数组。

然后由第二个数组执行元音字母的排序。

最后调用输出即可。

注意事项:

注意多语句别漏了花括号

参考代码:

#include <stdio.h>
#include <string.h>
int yuanyin(char a[],char b[])
{
	int i,j=0,k,l;
	char x;
	l=strlen(a);
	for(i=0;i<l;i++)
	{
		if(a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u')
		{
			b[j]=a[i];
			j++;
		}
	}
	b[j]='\0';
	k=strlen(b);
	for(i=0;i<k;i++)
	{
		for(j=i;j<k;j++)
		{
			if(b[i]>b[j])
			{
			x=b[j];b[j]=b[i];b[i]=x; 
			}
		 }
	}
    return 0;
}
int main()
{
	char a[100],b[100];
	gets(a);
	yuanyin(a,b);
	puts(b);
	return 0;
}


点赞(0)
 

0.0分

67 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 60 条评论

aioros 2年前 回复TA
#include <stdio.h>
#include <string.h>

char copy(char str1[], char str2[]);

int main()
{
	char a[100]="";
	char b[100]="";
	gets(a);
	copy(a,b);

	return 0;
}

char copy(char str1[], char str2[])
{
	int i,len;
	int j=0;
	len = strlen(str1);
	for(i=0;i<len;i++){
		if(str1[i]=='a'||str1[i]=='e'||str1[i]=='i'||str1[i]=='o'||str1[i]=='u'){
			str2[j] = str1[i];
			j++;
		}
	}
	printf("%s",str2);

}
电科2班聂移 3年前 回复TA
@归尘 这遇到重复的元音字母也只能输出一个呀
KK 3年前 回复TA
@xisoni @hongshanshangfe ??
夜云空 3年前 回复TA
@小兴 顺序问题
阿耀 3年前 回复TA
思路很清晰,赞
归尘 3年前 回复TA
@归尘 o不ok
归尘 3年前 回复TA
#include "stdio.h"
int main()
{
	char s[100];
	gets(s);
	int r[5]={0};
	for (int i=0;s[i]!='\0';i++)
	{
		if (s[i]=='a')r[0]++;
		if (s[i]=='e')r[1]++;
		if (s[i]=='i')r[2]++;
		if (s[i]=='o')r[3]++;
		if (s[i]=='u')r[4]++;
	}
	if(r[0]!=0)printf("a");
	if(r[1]!=0)printf("e");
	if(r[2]!=0)printf("i");
	if(r[3]!=0)printf("o");
	if(r[4]!=0)printf("u");
}
花开回落 3年前 回复TA
#include<stdio.h>
void zifu(char a[100],int len)
{
    for(int i=0;i<len;i++){
        if(a[i]=='\0')
        {
            break;
        }
        if(a[i]=='a')
        {
            printf("a");
        }
        if(a[i]=='e')
        {
            printf("e");
        }
        if(a[i]=='i')
        {
            printf("i");
        }
        if(a[i]=='o')
        {
            printf("o");
        }
        if(a[i]=='u')
        {
            printf("u");
        }
    }
}
int main()
{
    int len;
    char a[100];
    scanf("%s",a);
    len=sizeof(a)/sizeof(a[0]);
    zifu(a,len);
    r
meizanwalida 3年前 回复TA
#include "stdio.h"
#include "string.h"
void main()
{
    char sad[1000];
    gets(sad);
    pandu(sad);
}
void pandu(char sad[1000])
{
    int i,len;
    len = strlen(sad);
    for(i = 0;i<=len-1;i++)
    {
        if(sad[i] == 'a'||sad[i] == 'i'||sad[i] == 'e'||sad[i] == 'u'||sad[i] == 'o')
        {
            printf("%c",sad[i]);
        }
        sad[i] = "\0";
    }
}
虹山上峰 3年前 回复TA
@xisoni 在线编程写好来,复制粘贴就不会这样了