jun131 发表于 2018-5-20 14:31:19

while语句课后作业.

我的思路是不是错了.?求老师们指点一下,不需要答案,我想要思路!

人造人 发表于 2018-5-20 14:38:05

那你倒是说说为什么 i 会进入这个范围?

jun131 发表于 2018-5-20 14:44:46

人造人 发表于 2018-5-20 14:38
那你倒是说说为什么 i 会进入这个范围?

我是这样想的,当 while 循环 ,只有遇到大写字母的时候 i+1.老师,这个范围怎么表达,这样的思路对不对呀~

人造人 发表于 2018-5-20 15:03:33

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

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

int main(void)
{
        int i = 0;
        int ch;

        while((ch = getchar()) != '\n')
        {
                if('A' <= ch && ch <= 'Z')
                        ++i;
        }
        printf("%d\n", i);
        return 0;
}

人造人 发表于 2018-5-20 15:04:10

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

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

如何才能遇到呢?

jun131 发表于 2018-5-20 15:49:11

其实我并不想要答案..

jun131 发表于 2018-5-20 15:55:07

人造人 发表于 2018-5-20 15:03
好吧,我不陪你玩了

为什么平时课堂上用 getchar() 的时候都是直接int main(),而里面并没有void呢?

人造人 发表于 2018-5-20 16:26:49

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

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

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

void Test()
{
        printf("test\n");
}

int main(void)
{
        Test(1, 2, 3, 4, 5);

        return 0;
}



jun131 发表于 2018-5-20 18:25:25

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



谢谢造人老师,有你们在真好

风过无痕丶 发表于 2018-5-20 18:38:18

造人老师。。。。原谅我邪恶了一下。。@人造人

人造人 发表于 2018-5-20 18:46:59

风过无痕丶 发表于 2018-5-20 18:38
造人老师。。。。原谅我邪恶了一下。。@人造人

我原谅你
^_^

z1446773686 发表于 2018-5-22 08:34:55

楼主的这道题中,错在if条件,因为i始终等于0不符合条件内容所以才不会执行++i

z1446773686 发表于 2018-5-22 08:37:24

而且还少了能够保存字母的一个变量

jun131 发表于 2018-5-22 23:52:18

z1446773686 发表于 2018-5-22 08:37
而且还少了能够保存字母的一个变量

老师,我现在遇到难题,两天没做出来,是跳过学习下面的知识还是继续死磕呢?一直在想这个问题,脑子要乱了

z1446773686 发表于 2018-5-24 09:28:26

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

那得看自己想要什么啦,当然理解在先嘛

jun131 发表于 2018-5-24 19:02:50

z1446773686 发表于 2018-5-24 09:28
那得看自己想要什么啦,当然理解在先嘛

嗯,今天我也思量了,能掌握知识用法,实在做不出来动动手扩展题就跳过,
页: [1]
查看完整版本: while语句课后作业.