鱼C论坛

 找回密码
 立即注册
查看: 2418|回复: 15

[已解决]while语句课后作业.

[复制链接]
发表于 2018-5-20 14:31:19 | 显示全部楼层 |阅读模式

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

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

x
我的思路是不是错了.?求老师们指点一下,不需要答案,我想要思路!
最佳答案
2018-5-20 15:03:33
jun131 发表于 2018-5-20 14:44
我是这样想的,当 while 循环 ,只有遇到大写字母的时候 i+1.  老师,这个范围怎么表达,这样的思路对不对呀~

好吧,我不陪你玩了
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int i = 0;
  5.         int ch;

  6.         while((ch = getchar()) != '\n')
  7.         {
  8.                 if('A' <= ch && ch <= 'Z')
  9.                         ++i;
  10.         }
  11.         printf("%d\n", i);
  12.         return 0;
  13. }
复制代码
S1E13课后动动手0题..png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-20 14:38:05 | 显示全部楼层
那你倒是说说为什么 i 会进入这个范围?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-20 14:44:46 | 显示全部楼层
人造人 发表于 2018-5-20 14:38
那你倒是说说为什么 i 会进入这个范围?

我是这样想的,当 while 循环 ,只有遇到大写字母的时候 i+1.  老师,这个范围怎么表达,这样的思路对不对呀~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-20 15:03:33 | 显示全部楼层    本楼为最佳答案   
jun131 发表于 2018-5-20 14:44
我是这样想的,当 while 循环 ,只有遇到大写字母的时候 i+1.  老师,这个范围怎么表达,这样的思路对不对呀~

好吧,我不陪你玩了
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int i = 0;
  5.         int ch;

  6.         while((ch = getchar()) != '\n')
  7.         {
  8.                 if('A' <= ch && ch <= 'Z')
  9.                         ++i;
  10.         }
  11.         printf("%d\n", i);
  12.         return 0;
  13. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-20 15:04:10 | 显示全部楼层
jun131 发表于 2018-5-20 14:44
我是这样想的,当 while 循环 ,只有遇到大写字母的时候 i+1.  老师,这个范围怎么表达,这样的思路对不对呀~

“只有遇到大写字母的时候 i+1”

如何才能遇到呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-20 15:49:11 | 显示全部楼层
其实我并不想要答案..
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-20 15:55:07 | 显示全部楼层
人造人 发表于 2018-5-20 15:03
好吧,我不陪你玩了

为什么平时课堂上用 getchar() 的时候都是直接int main()  ,而里面并没有void呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-20 16:26:49 | 显示全部楼层
jun131 发表于 2018-5-20 15:55
为什么平时课堂上用 getchar() 的时候都是直接int main()  ,而里面并没有void呢?

这是我个人的习惯
在C语言中,如果括号中什么也没有,表示是否有参数保持沉默

下面代码不会有警告,也不会报错
  1. #include <stdio.h>

  2. void Test()
  3. {
  4.         printf("test\n");
  5. }

  6. int main(void)
  7. {
  8.         Test(1, 2, 3, 4, 5);

  9.         return 0;
  10. }
复制代码

1.png
2.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-20 18:25:25 | 显示全部楼层
人造人 发表于 2018-5-20 16:26
这是我个人的习惯
在C语言中,如果括号中什么也没有,表示是否有参数保持沉默

谢谢造人老师,有你们在真好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-20 18:38:18 | 显示全部楼层
造人老师。。。。原谅我邪恶了一下。。@人造人  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-20 18:46:59 | 显示全部楼层
风过无痕丶 发表于 2018-5-20 18:38
造人老师。。。。原谅我邪恶了一下。。@人造人

我原谅你
^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-22 08:34:55 From FishC Mobile | 显示全部楼层
楼主的这道题中,错在if条件,因为i始终等于0不符合条件内容所以才不会执行++i
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-22 08:37:24 From FishC Mobile | 显示全部楼层
而且还少了能够保存字母的一个变量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-22 23:52:18 | 显示全部楼层
z1446773686 发表于 2018-5-22 08:37
而且还少了能够保存字母的一个变量

老师,我现在遇到难题,两天没做出来,是跳过学习下面的知识还是继续死磕呢?一直在想这个问题,脑子要乱了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-24 09:28:26 | 显示全部楼层
jun131 发表于 2018-5-22 23:52
老师,我现在遇到难题,两天没做出来,是跳过学习下面的知识还是继续死磕呢?一直在想这个问题,脑子要乱了

那得看自己想要什么啦,当然理解在先嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-24 19:02:50 | 显示全部楼层
z1446773686 发表于 2018-5-24 09:28
那得看自己想要什么啦,当然理解在先嘛

嗯,今天我也思量了,能掌握知识用法,实在做不出来动动手扩展题就跳过,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 08:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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