解题思路:

本题可以使用switch语句,对输入的字符串的每一项进行判断,如果与元音字母相同,那么就输出此字符.所以我们先定义一个数组,用来装元音字母.在输入一个字符串,从首位开始判断,如果s[i]是元音字母,就把ans数组对应的地址的值变为true.最终按顺序输出.

注意事项:
switch的括号内写判断对象,case后写s[i]判断的值(注意:写冒号,句末写break),再写语句1,2,3.......,default就像else


switch(controllingExpression)

{

    case 条件语句:语句1;break;

    case 条件语句:语句2;break;

    case 条件语句:语句3;break;

    default:语句4;break;

}


参考代码:

#include <bits/stdc++.h>

using namespace std;

  

char s[101],vowels[6] = {'a', 'e', 'i', 'o', 'u'}; //定义元音字母数组

bool a[5];                            //定义控制输出数组,初始化全为0


int main()

{

    gets(s);                                    //输入字符串

    for (int i = 0; i<strlen(s); i++)          //循环字符串到结尾符

    {

       switch(s[i])

       {

           case 'a': a[0]=true;break;//s[i]=='a',输出a

           case 'e': a[1]=true;break;//s[i]=='e',输出e

           case 'i': a[2]=true;break;//同理

           case 'o': a[3]=true;break;

           case 'u': a[4]=true;break;

       }

    }

    for (int i = 0; i < 5; i++)

    {

        if (a[i]) printf("%c", vowels[i]); //输出对应的元音字母

    }

    return 0;

}


点赞(0)
 

0.0分

2 人评分

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

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

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

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

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

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

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

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

评论列表 共有 1 条评论

决明子 3年前 回复TA
??????