文章目录
- 一、题目
- 二、思路
- 三、代码实现
提示:以下是本篇文章正文内容,下面案例可供参考
一、题目
例如:
- 分别输入:a B 6
- 分别输出:# * ?
二、思路
第一步
获取键盘输入的字符,键盘输入的话,可能输入字符也可能输入字符串,获取单个字符的话,我们就可以直接调用c语言的库函数getchar函数1获取输入的当前字符;如果输入字符串,我们要调用getchar获取字符的话就得通过do while循环来获取字符串的每一个元素了。
第二步
do while循环条件是获取当前的字符,所以他的结束条件是输入的该字符串函数不是换行符(’ \ n’),因为我们在输入一个字符串以后,我们会按下回车键,按下回车键,获得的当前字符为换行符,所以我们获得不是换行符的时候,才说明我们还没有获取结束,如果我们获得当前字符是回车符,那就说明将这个字符或字符串判断结束了。
第三步
因为是do while循环,所以首先我们得判断输入的字符是不是换行符,不是则执行下面步骤。
根据返回值,有三种情况,大写字母返回1,小写字母返回-1,其他字符返回0;
所以在这里我们用switch语句进行判断,返回值是1,则是大写字母,打印*;返回值是-1,则是小写字母,打印#;返回值是0,则打印问号。
三、代码实现
int my_isalpha(char c)
{
if(c>='A'&&c<='Z') return 1;
else if(c>='a'&&c<='z') return -1;
else return 0;
}
void a( )
{
char ch;
int sort;
printf("本程序判断你从键盘上键入字符的种类,请输入字符(串):\n");
do
{
ch=getchar();
if(ch!='\n')
{
sort= my_isalpha( ch);
switch(sort)
{
case 1: printf("%c",'*'); break;
case -1: printf("%c", '#'); break;
case 0: printf("%c", '?');
}
}
}while(ch !='\n');
printf("%c",'\n');
}
void main( )
{
a();
}
getchar函数学习参考小编所写字符专用接收函数 ↩︎