衾允


私信TA

用户名:LINBO

访问量:320

签 名:

[是否在冗长难挨的时光里待到倦怠]

等  级
排  名 83640
经  验 132
参赛次数 0
文章发表 1
年  龄 13
在职情况 学生
学  校 南渝中学
专  业 信息技术

  自我简介:

南渝信竞队2023lyj

解题思路:

本题可以使用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分

2 人评分

  评论区

??????
2021-04-11 20:00:15
  • «
  • 1
  • »