题目描述
KiKi开始学习英文字母,BoBo老师告诉他,有五个字母A(a), E(e), I(i), O(o),U(u)称为元音,其他所有字母称为辅音,请帮他编写程序判断输入的字母是元音(Vowel)还是辅音(Consonant)。
输入描述:
多组输入,每行输入一个字母。
输出描述:
针对每组输入,输出为一行,如果输入字母是元音(包括大小写),输出“Vowel”,如果输入字母是非元音,输出“Consonant”。
示例1
输入
A
b
输出
Vowel
Consonant
解法一
#include<iostream>
using namespace std;
int main ()
{
char ch;
while(cin>>ch)
{
if(ch=='A'||ch=='a'||ch=='E'
||ch=='e'||ch=='I'||ch=='i'||
ch=='O'||ch=='o'||ch=='U'||ch=='u')
cout<<"Vowel"<<endl;
else
cout<<"Consonant"<<endl;
}
}
解法二
C语言
#include <stdio.h>
int main() {
char ch = 0;
while(scanf("%c", &ch) != EOF) {
//忽略换行符
if(ch == '\n')
continue;
//统一将字符转换成大写,方便后续判断
if(ch >= 'a' && ch <= 'z')
ch -= 32; //大写字母+32=小写字母
if(ch == 'A' || ch == 'E' || ch == 'I'
|| ch == 'O' || ch == 'U')
{
printf("Vowel\n");
}
else
{
printf("Consonant\n");
}
}
return 0;
}
EOF的用法
EOF(end of file)意思是文件的结束,通常来判断文件的操作是否结束的标志。
EOF通常定义在头文件<stdio.h>中,一般等于-1;
对于while(scanf("%c",&a)!=EOF) EOF等于-1 其实就是scanf函数的返回值 不等于-1时 继续进行循环
也可以表示一直输入,直到scanf返回的值是-1时才会停止输入,也可以在while里面加上一些约束条件,使输入在特定的条件下就会停止,也可以在输入完成后按下 ,Ctrl+z,可以强行停止输入。