链接:https://ac.nowcoder.com/acm/contest/5962/A
来源:牛客网
题目描述
KiKi开始学习英文字母,BoBo老师告诉他,有五个字母A(a), E(e), I(i), O(o),U(u)称为元音,其他所有字母称为辅音,请帮他编写程序判断输入的字母是元音(Vowel)还是辅音(Consonant)。
输入描述:
多组输入,每行输入一个字母。
输出描述:
针对每组输入,输出为一行,如果输入字母是元音(包括大小写),输出“Vowel”,如果输入字母是非元音,输出“Consonant”。
示例1
输入
A b
输出
Vowel Consonant
这个题 涉及了 怎么表示元音字母 怎么 实验多组输入
复习一些c语言中涉及的基本知识
字符类型 用 char 表示 熟悉ASCII编码表 输出的格式转换符为%c
整数类型 用 int 表示 输出的格式转换符为%d
浮点数 用 double float long 表示 浮点数是指小数点不固定的数 浮点数常量默认情况下用double表示
输出的格式转换符为%f 注意一下double 的输入为%lf
在ASCII码中
小写字母转换为大写字母 是通过 将小写字母 减去 32 得到的 这是因为任意小写字母在ASCII码值正好比其他的大写字母的ASCII码值大32.
还有一点 需要注意的是EOF?
EOF(end of file)就是文件的结束,通常来判断文件的操作是否结束的标志。
EOF不是特殊字符,而是定义在头文件<stdio.h>的常量,一般等于-1;
对于while(scanf("%c",&a)!=EOF) EOF等于-1 其实就是scanf函数的返回值 不等于-1时 继续进行循环
也可以表示一直输入,直到scanf返回的值是-1时才会停止输入,也可以在while里面加上一些约束条件,使输入在特定的条件下就会停止,也可以在输入完成后按下 ,Ctrl+z,可以强行停止输入。
也在网上找了一篇文章 可以看一下
链接:https://blog.csdn.net/qq_41765712/article/details/81741575
————————————————
参考了许多 总结了一下 也许有很多不足 请大佬们斧正
#include<bits/stdc++.h> using namespace std; int main() { char m; while(cin>>m) //因为要多组输入 所以要用循环 也可以 用 while(scanf("%c",&a)!=EOF) 最后 也要 在输入 一遍 a scanf("%c",&a); { if(m=='A'||m=='a'||m=='I'||m=='i'||m=='O'||m=='o'||m=='U'||m=='u'||m=='E'||m=='e')//大小写 一个个判断 也可以 用 a == 'a'-32 此时 a表示的时A { cout<<"Vowel"<<endl; } else { cout<<"Consonant"<<endl; } } return 0; }