#c语言 ##条件控制循环 ###字符串大小写转换 ####当输入数字时停止

任务描述
相关知识
编程要求


任务描述


从键盘输入依次输入一串英文字母,大小写不限,将其中的大写字母转换成相应的小写字母,小写字母转换成相应的大小字母,当输入字符不是英文字母时,停止程序执行。
输入:gfDesBT4
输出:GFdESbt
输入:Kitty8LiLy
输出:kITTY

相关知识

本关任务采用重复执行输入语句的方式来输入字符串,每输入 一个字符即对其进行判断,一个字符的转换处理完成后,即输入下一个字符。当读入的字符是非字母时,则处理结束。
是否是字母,对于判断的结果可以作为一个标志f,例如:如果是字母,则设置:f = 1,否则设置 f = 0。
条件循环控制框架

while 语句
scanf("%c",&s);
…//判断是否是字母,f=1 或者 f=0
while (f)
{

scanf("%c",&s);
…//判断是否是字母,f=1 或者 f=0
}

*注意**其中两个scanf()语句的位置和作用,字符的输入也可以使用getcahr(),如:s = getchar()。

**编程要求

为了完成此任务,你编写的程序要能根据不同的输入字符输出不同的转换后的字符。
效果如下:
####测试说明
程序会对你编写的代码进行测试:
输入测试数据:Kitty8LiLy,需要你的程序输出:kITTY
字符在一行内进行输入,依次输出结果,末尾无换行。
开始你的任务吧,祝你成功!**

代码如下

小白入门,欢迎指出不足和改进方案,如果能讨论不同的解决方案就更好了☺️

#include <stdio.h>
#include <math.h>
int main()
{
    
    
    int f=1;
    while (f)//当()内表达式不为零是执行后面循环
    {
    
    
        char b;
        scanf("%c",&b);
        if(b>='A'&&b<='Z')
        {
    
    
            b=b+32;
            printf("%c",b);
        }
        else if (b>='a'&&b<='z')
        {
    
    
            b=b-32;
            printf("%c",b);
        }
        else if (b>='0'&&b<='9')
        {
    
    
            f=0;
        }
    }


   return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_51676760/article/details/109669307