张世来4610484 发表于 2020-2-14 22:08:08

小白求助

输入星期几的第一个字母来判断是星期几,如果第一个字母一样,则输入第二个字母判断,下面是书上标准答案
一直看不懂第七行,判断Y的意义在哪,去掉这行,发现程序也可以运行,希望各位帮忙解答下
#include <stdio.h>
void main ()
{       
        char letter;
        printf("please input this first letter of someday\n");
        letter=getchar();
        if(letter!='Y')//当字母为Y时不执行后面的switch语句
        {
                switch(letter)
                {
                case 'S':
                        {
                                printf("please input second letter \n");
                                getchar();
                                if((letter=getchar())=='a')
                                        printf("saturday\n");
                                elseif (letter=='u')
                                        printf("sunday\n");
                                else printf("data error\n");
                                break;
                        }
                case 'F':printf("friday\n");break;
                case 'M': printf("monday\n");break;
                case 'T':
                        {
                                printf("please input second letter \n");
                                getchar();
                                if((letter=getchar())=='u')
                                        printf("tuesday\n");
                                else if (letter=='h')
                                        printf("thursday\n");
                                else printf ("data error\n");
                                break;
                        }
                case 'W':printf ("wednesday\n");break;
                default:printf("data error\n");
                }
        }
}






4goodworld 发表于 2020-2-14 23:33:47

char letter;
        printf("please input the first letter of someday\n");
        while ((letter = getchar()) != 'y')//当所按字母为Y时结束

我搜索了,发现别的题目里面给出的答案,我觉得这么理解就对了,y只是一个不运行的代码,你改成什么N什么都可以,删掉并不影响

淡笑无痕丶 发表于 2020-2-15 10:52:17

这个if语句好像不必要,删了只留下switch应该也可以运行。

张世来4610484 发表于 2020-2-15 13:22:36

4goodworld 发表于 2020-2-14 23:33
我搜索了,发现别的题目里面给出的答案,我觉得这么理解就对了,y只是一个不运行的代码,你改成什么N什么 ...

删掉了也可以运行,但是我不懂,放在这里有什么意义

4goodworld 发表于 2020-2-15 13:51:34

张世来4610484 发表于 2020-2-15 13:22
删掉了也可以运行,但是我不懂,放在这里有什么意义

晕,如果题目说,当输入Y的时候表示重新输入,能理解了吗?
至于为啥是Y,其实我也不知道,我感觉N也行,不信,你试试{:10_277:}

chxchxkkk 发表于 2020-2-15 13:57:28

估计是原来的代码没写全,本意是如果输入y就直接退出。

良弓无箭 发表于 2020-2-15 16:44:46

'y'是每个星期一,二,三,四,五,六,七的最后一个字母
页: [1]
查看完整版本: 小白求助