首页 > 试题广场 >

判断是元音还是辅音

[编程题]判断是元音还是辅音
  • 热度指数:57650 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
KiKi开始学习英文字母,BoBo老师告诉他,有五个字母A(a), E(e), I(i), O(o),U(u)称为元音,其他所有字母称为辅音,请帮他编写程序判断输入的字母是元音(Vowel)还是辅音(Consonant)。

输入描述:
多组输入,每行输入一个字母。


输出描述:
针对每组输入,输出为一行,如果输入字母是元音(包括大小写),输出“Vowel”,如果输入字母是非元音,输出“Consonant”。
示例1

输入

A
b

输出

Vowel
Consonant
#include <stdio.h>

int main() {
    char a;
    while(~scanf("%c\n",&a)){
        if(a=='A'||a=='a'||a=='E'||a=='e'||a=='i'||a=='I'||a=='o'||a=='O'||a=='u'||a=='U'){
            printf("Vowel\n");
        }
        else{
            printf("Consonant\n");
        }
    }
    return 0;
}
发表于 2024-10-28 16:56:30 回复(0)
#include <stdio.h>

int main() {
    char a;
    while(scanf("%c",&a)!=EOF)
    {
        switch (a)
        {
            case 'a':
            case 'A':
            case 'e':
            case 'E':
            case 'i':
            case 'I':
            case 'o':
            case 'O':
            case 'u':
            case 'U':
            printf("Vowel\n");
            break;
            default:
            printf("Consonant\n");
            //break;
        }
        while(getchar()!='\n');
    }
    return 0;
}
发表于 2024-10-10 17:59:51 回复(0)
#include <stdio.h>

int main() {
    char ch1, ch2;
    char arr[] = { 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U' };
    while (scanf("%c", &ch1) != EOF) {
        getchar();
        int i = sizeof(arr) / sizeof(arr[0]);
        for (int j = 0; j < i; j++) {
            if (ch1 == arr[j]) {
                printf("Vowel\n");
                goto lbl1;
                //return 0;
            }
        }
        printf("Consonant\n");
lbl1:
        ;
    }
    return 0;
}
发表于 2024-10-10 11:08:21 回复(0)
#include <stdio.h>

int main() {
    char a;
    int b;
    while(scanf(" %c",&a)!=EOF)
    {
        b=(int)a;
    if(b==65||b==97||b==69||b==101||b==73||b==105||b==79||b==111||b==85||b==117)
    {
        printf("Vowel\n");
    }
    else
        printf("Consonant\n");
    }
    return 0;
}
发表于 2024-08-12 15:55:52 回复(0)
#include<stdio.h>
int main()
{
char a;
while((scanf("%c",&a))!=EOF)
{
    switch(a)
    {   case 65 :
        case 97 :
        case 69 :
        case 101 :
        case 73:
        case 105 :
        case 79 :
        case 111 :
        case 85 :
        case 117 :printf("Vowel\n");break;
        default : printf("Consonant\n");
    }
    while((getchar() )!='\n')
    {}

}
  return 0;
}
发表于 2024-07-31 12:14:17 回复(0)
#include <stdio.h>

int main() {
    char s[] = {'A', 'E', 'I', 'O', 'U', 'a', 'e', 'i', 'o', 'u'};
    char a;
    int length = sizeof(s) / sizeof(s[0]);
    while (scanf(" %c", &a) != EOF) { // 注意添加空格来忽略输入中的空白字符
        int vowelFound = 0; // 标志变量,用于指示是否找到元音字母
        for (int i = 0; i < length; i++) {
            if (a == s[i]) {
                printf("Vowel\n");
                vowelFound = 1; // 找到元音字母,设置标志为1
                break; // 找到后即退出循环
            }
        }
        if (!vowelFound) { // 如果没有找到元音字母,打印 "Consonant"
            printf("Consonant\n");
        }
    }
    return 0;
}
发表于 2024-05-07 09:27:56 回复(0)
#include <stdio.h>

int main()
{
	char ch = 0;
	while (scanf("%c", &ch) == 1)
	{
		//只接受输入的字符,enter被吸收,释放掉
		getchar();
		if (ch == 'a' || ch == 'A' || ch == 'e' || ch == 'E' || ch == 'I' || ch == 'i' || ch == 'O' || ch == 'o' || ch == 'U' || ch == 'u')
			printf("Vowel\n");
		else
		{
			//如果输入的是非字母,不输出
			if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
				printf("Consonant\n");
		}
		
	}

	return 0;
}

发表于 2024-04-03 20:30:30 回复(0)
#include <stdio.h>

int main()
{
    char s[] = "aeiouAEIOU";
    char* p = NULL;
    char input = 0;
    int flag = 0;

    while (scanf("%c", &input) != EOF)
    {
        //拿走空字符
        getchar();

        //重置p为字符串首元素
        p = s;
        //重置标志为0
        flag = 0;

        //判断是否为元音
        while (*p)
        {
            if (*p == input)
            {
                flag = 1;
                break;
            }
            p++;
        }

        //进行相应输出
        if (flag)
        {
            printf("Vowel\n");
        }
        else
        {
            printf("Consonant\n");
        }
    }

    return 0;
}

编辑于 2024-03-18 23:04:29 回复(0)
#include <stdio.h>
int main() {
    char ch;
    while((ch=getchar())!=EOF){
        //由于getchar()会读到'\n'(回车),所以要加个getchar()吃掉空格;
        getchar();
        switch(ch){
            case 'A':
            case 'E':
            case 'I':
            case 'O':
            case 'U':
            case 'a':
            case 'e':
            case 'i':
            case 'o':
            case 'u':printf("Vowel\n");break;
            default:printf("Consonant\n");
        }
    }
    return 0;
}

发表于 2024-03-18 17:29:35 回复(0)
#include <stdio.h>

int main() {
    char a;
    while (scanf("%c", &a) != EOF) {
        if(a=='\n')
        continue;
        else
         {
              if(a=='A'||a=='E'||a=='I'||a=='O'||a=='U'||
        a=='a'||a=='e'||a=='i'||a=='o'||a=='u'
        )
         printf("Vowel\n");
         else
        printf("Consonant\n");
         }

     
    }
    return 0;
}
编辑于 2024-02-26 19:47:01 回复(0)
#include <stdio.h>

int main() {
    char ch;
    while (scanf("%s", &ch) != EOF) { 
        if (ch=='a'||ch=='A'||ch=='E'||ch=='e'||ch=='i'||ch=='I'||ch=='o'||ch=='O'||ch=='u'||ch=='U')
        {
            printf("Vowel\n");
        }
        else
        printf("Consonant\n");
    }
    return 0;
}

编辑于 2024-01-07 08:42:38 回复(0)
#include <stdio.h>

int main() {
    char a;
    while (scanf("%c", &a) != EOF) {
        if (a != '\n') {
            if (a == 'A' || a == 'a' || a == 'E' || a == 'e' || a == 'I' || a == 'i' ||
                    a == 'O' || a == 'o' || a == 'U' || a == 'u') {
                printf("Vowel\n");
            } else {
                printf("Consonant\n");
            }
        }
    }
    return 0;
}
发表于 2024-01-04 19:05:06 回复(0)
#include <stdio.h>
int main() {
    char ch;

    while (scanf("%c",&ch)!=EOF) {
        getchar();//getchar用于吸收回车,以免switch连回车键也判断了
        switch (ch) {
            case 'A':
            case 'E':
            case 'I':
            case 'O':
            case 'U':
            case 'a':
            case 'e':
            case 'i':
            case 'o':
            case 'u':printf("Vowel\n");//十种情况定为元音
            break;
            default:printf("Consonant\n");//以上都不成立时,则为非元音
        }
    }
    return 0;
}
编辑于 2023-12-07 09:13:24 回复(0)
#include<stdio.h>
int main()
{
    char letter;
    while(scanf("%s",&letter)!=EOF)
   { switch (letter)
    {
        case 65:
        case 97:
        case 69:
        case 101:
        case 105:
        case 73:
        case 79:
        case 111:
        case 85:
        case 117:
            printf("Vowel\n");
            break;
        default:
            printf("Consonant\n");
            break;
    }
   }
    return 0;
}
发表于 2023-11-24 22:20:15 回复(0)
需要注意一下,scanf函数是会将换行符\n算作一个字符加入循环内,所以需要每次循环前输入后都要用一个getchar函数来装换行符\n
//BC53 判断是元音还是辅音
#include "stdio.h"
int main(){
    char ch;
    while((scanf("%c",&ch) != EOF)){
        getchar();
        if((ch=='A') || (ch=='E') || (ch=='I') || (ch=='O') || (ch=='U') || (ch=='a') || (ch=='e') || (ch=='i') || (ch=='o') || (ch=='u')){
            printf("Vowel\n");
            continue;
        }
        else {
            printf("Consonant\n");
        }
    }
    return 0;
}


发表于 2023-11-10 18:42:37 回复(0)
#include <stdio.h>

int main()
{
    char a = 0;
    while(scanf("%c\n",&a)!=EOF)
    {
        switch(a)
        {
            case 'A':
            case 'a':
            case 'E':
            case 'e':
            case 'I':
            case 'i':
            case 'O':
            case 'o':
            case 'U':
            case 'u':
            printf("Vowel\n");
            break;

            default:
            printf("Consonant\n");
            break;


        }

    }
    return 0;
}
发表于 2023-11-04 20:47:37 回复(0)
C
Sg1头像 Sg1
#include <stdio.h>

int main() {
char a ;
char arr[]={'A','E','I','O','U','a','e','i','o','u'};
while (scanf("%d", &a) != EOF){
int i = 0;

scanf("%c",&a);
for(i = 0;i<10;i++)
if(a==arr[i])
{
    printf("Vowel\n");
break;
}
if (i==10)
printf("Consonant\n");

   }   return 0;
}

发表于 2023-10-04 11:25:07 回复(1)
#include <stdio.h>

int main() {
   char ch;
   char str[] = "AEIOUaeiou";
   while(scanf("%c", &ch) != EOF)
   {
    //语句的作用是在读取输入字符时,如果读入的是换行符 `\n`,则跳过本次循环,直接进行下一次循环。这样可以避免对换行符进行处理,而只处理有效字符,提高程序效率和准确性。当我们在终端中使用 `scanf()` 等函数输入字符时,输入完一个字符后按下回车键(`\n`),会把字符和换行符一起传递给程序。故需要让程序忽略换行符。
        if (ch == '\n') continue;
        int i = 0;
        for(i = 0; i < 10; i++)
        {
            if(ch == str[i])
            {
                printf("%s\n", "Vowel");
                break;
            }
        }
        if(i == 10)
        {
             printf("%s\n", "Consonant");
        }
       
   }

    return 0;
}
发表于 2023-09-20 15:09:20 回复(0)
#include <stdio.h>

int main() {
    char c = 0;
    char arr[] = "AaEeIiOoUu";
    while (scanf("%c", &c) != EOF) {
        if (c == '\n') continue;
        int i = 0;
        for ( i = 0; i < 10; i++) {
            if (c == arr[i]) {
                printf("%s\n", "Vowel");
                break;
            }
        }
        if (i == 10) {
            printf("%s\n", "Consonant");
        }
    }
    return 0;
}

发表于 2023-03-09 10:58:02 回复(0)
#include <stdio.h>

int main() {
    char v[10] = {'A', 'E', 'I', 'O', 'U', 'a', 'e', 'i', 'o', 'u'};
    char i = '0';
    while(scanf("%c", &i) != EOF)
    {
        int j = 0;
        for(j = 0; j < 10; j++)
        {
            if(i == v[j])
            {
                printf("Vowel\n");
                break;
            }
        }
        if(j == 10)
        {
            printf("Consonant\n");
        }
        getchar();
    }
    return 0;
}
发表于 2023-02-25 19:39:36 回复(0)