鱼C论坛

 找回密码
 立即注册
查看: 1677|回复: 6

[已解决]如何运用循环写

[复制链接]
发表于 2020-10-17 23:19:46 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
求助啊,,
最佳答案
2020-10-18 03:05:27
本帖最后由 风过无痕1989 于 2020-10-18 03:07 编辑

C语言答案在此

  1. // 输入一个字符,判断其是否是小写字母。如果是小写字母,则输出其大写;否则输出“它不是小写字母"。
  2. // 注意:
  3. // 1、要能循环输入,即解决回车字符的影响。
  4. // 2、要能解决输入多个字符的情况。如输入"iuy"3个字符后再回车,只对输入的"i"(即第一个字符)进行判断,忽略后面的"uy"。

  5. #include<stdio.h>
  6. void main()
  7. {
  8.       char ch,cha;
  9.       char b[10] = "";
  10.       while(1)
  11.       {
  12.             printf("请输入一个字符,");
  13.             scanf("%c",&ch);
  14.             getchar();                                     // 接收回车键
  15.             b[0] = ch;                                    // 将接收到的字符存入字符数组
  16.             ch = b[0];                                     // 将数组的第一个元素赋给变量 ch;
  17.             fflush(stdin);                                 // 清除键盘缓冲区
  18.             if('a' <= ch && ch <= 'z')
  19.             {
  20.                         cha = ch - 32;
  21.             }
  22.             else
  23.             {
  24.                         printf("%c它不是一个小写字母\n",ch);
  25.                         printf("\n");
  26.                         continue;
  27.             }
  28.             printf("%c的大写字母是:%c\n",ch,cha);
  29.             printf("\n");
  30.       }
  31. }
复制代码
Screenshot_2020-10-17-23-01-37-102_com.tencent.mm.png

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-18 01:15:27 | 显示全部楼层
  1. while True:
  2.     str1=input('输入小写字母:')
  3.     if 'a'<=str1[0]<='z':
  4.         print(f'{str1[0]}的大写字母是:{str1[0].upper()}')
  5.     else:
  6.         print(f'{str1[0]}它不是一个小写字母')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-18 03:05:27 | 显示全部楼层    本楼为最佳答案   
本帖最后由 风过无痕1989 于 2020-10-18 03:07 编辑

C语言答案在此

  1. // 输入一个字符,判断其是否是小写字母。如果是小写字母,则输出其大写;否则输出“它不是小写字母"。
  2. // 注意:
  3. // 1、要能循环输入,即解决回车字符的影响。
  4. // 2、要能解决输入多个字符的情况。如输入"iuy"3个字符后再回车,只对输入的"i"(即第一个字符)进行判断,忽略后面的"uy"。

  5. #include<stdio.h>
  6. void main()
  7. {
  8.       char ch,cha;
  9.       char b[10] = "";
  10.       while(1)
  11.       {
  12.             printf("请输入一个字符,");
  13.             scanf("%c",&ch);
  14.             getchar();                                     // 接收回车键
  15.             b[0] = ch;                                    // 将接收到的字符存入字符数组
  16.             ch = b[0];                                     // 将数组的第一个元素赋给变量 ch;
  17.             fflush(stdin);                                 // 清除键盘缓冲区
  18.             if('a' <= ch && ch <= 'z')
  19.             {
  20.                         cha = ch - 32;
  21.             }
  22.             else
  23.             {
  24.                         printf("%c它不是一个小写字母\n",ch);
  25.                         printf("\n");
  26.                         continue;
  27.             }
  28.             printf("%c的大写字母是:%c\n",ch,cha);
  29.             printf("\n");
  30.       }
  31. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-18 07:37:11 | 显示全部楼层
为什么要使用 fflush(stdin) 函数清除键盘缓冲区呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-18 10:25:58 | 显示全部楼层
乐乐学编程 发表于 2020-10-18 07:37
为什么要使用 fflush(stdin) 函数清除键盘缓冲区呢?

因为他的程序要循环使用,若不清除的话,下一次有可能使用到残留在键盘缓冲区里字符。昨晚我在调试程序时就出现了,输入 iuy 时,当次完善地输出了大写字母 I ,可紧接着输出了大写字母 U,于是,就不得不考虑在ch读到数据后,要清除掉本次的输入
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-18 18:33:06 | 显示全部楼层
for i in "可迭代对象":
    print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-19 23:22:23 | 显示全部楼层
风过无痕1989 发表于 2020-10-18 10:25
因为他的程序要循环使用,若不清除的话,下一次有可能使用到残留在键盘缓冲区里字符。昨晚我在调试程序时 ...

明白了,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 05:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表