我看了一些循环结构,像if,while之类的,让我觉得一般的一重循环是挺简单的,但一旦涉及到二三重的循环嵌套就很让我头疼了。作为一个女生,逻辑关系一般都或多或少的有所欠缺,可即便是这样,循环结构却是C语言程序中很基础重要的一环,我只有多做一些来弥补自身的缺陷。
我看到一个很有趣的题,试问谁是凶手,现有A,B,C,D四个嫌疑人,A说:不是我;B说:是C;C说:是D;D说:C在胡说。其中有一个说了假话,而这个就是凶手!
这种就是循环中的选择结构,四个人有一个人说了假话,那他那句话就是“0”,其余三个人的就是“1”,通过循环四次,判断A,B,C,D四人分别说了假话,从而计数当计数值为3时,就可找到凶手。
其实这是程序员的思想,若是按照人的逻辑则是不要一遍又一遍的循环,看C和D说的话明显就有矛盾,只有判断两次就好了,可人的思想总有考虑不周全的时候,而全部列举出来就绝对不会错了,而只是要计算机计算,不算编程时间,绝对比人算的快!
这就让我想到了小学时做奥数竞赛时,有一种死方法就是列举法,就像有一个变量苹果50个,就呼啦啦画50个苹果(当然这么让人捧腹大笑的情景是我在电视剧里看到的
)。计算机编程的精髓就在于简化人脑。

下面给出这题的编程:
#include<stdio.h>
int main()
{
char killer;
int i;
int sum;
for (i=0; i<4; i++)
{
killer = 'A' + i;
}
sum = (killer != ‘A') + (killer == ‘C') + (killer == ‘D') + (killer != ‘D’);
if (killer == 3)
{
printf("killer is %c\n",killer);
}
return 0;
}