编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出.

本文介绍了一个简单的C语言程序,该程序能持续接收用户输入的字符,并将小写字母转换成大写,大写字母转换成小写输出,遇到数字则不作处理。通过使用getchar()函数和while循环实现了这一功能。

题目:

    编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出

思考思路:

 1:看到“接受字符”很多人想到scanf语句,但是题设中不是只输入一次而且输入类型也不同(%c %d),那么定义就显得比较麻烦,所以getchar()函数可以帮你实现

 2:“。。。。可以一直。。。。”说明要使用循环结构,既然是使用循环结构,那么采用哪种循环很重要。for循环必须知道循环次数才能确定循环条件,显然在这个题目里并不适合。那么常见的while循环与getchar()连用的形式比较贴合这个题目的要求。

    很多人就想用这个。。。

       while(ch=getchar()!=EOF)

     {

                ................

      }

 兄弟,那你就GG思密达啦(赋值运算符的优先级是小于关系运算符滴,如果这么做,首先进行的是getchar()!=EOF,当你输入的不是Ctrl+z,那么ch的值恒为1,循环体就GG了)千万要 谨记优先级,本人就卡在这1个多小时

 3:怎么实现大小写转换啊,ASCII码可以帮助你,小写字母与其对应的大写字母只相差32,而且字符的储存是以其对应的ASCII值来储存的,那么问题就这么解决了

代码:

#include<stdio.h>
int main()
{
        int ch;
        printf("请输入一个字符:\n");
    while((ch=getchar())!=EOF)
   { 
          if(ch>='a'&&ch<='z')
                      printf("%c\n",ch-32);
          else
                      if(ch>='A'&&ch<='Z')
                                      printf("%c\n",ch+32);
                      else
                                     if(ch>='0'&&ch<='9')
                                                     ;
                                     else
                                                     ;  
   }
              printf("\n");
             system("pause");
            return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值