解析:  基本思路如下:

     S1:  输入 a,如果a = 0则退出 

     S2:     接受字符串temp  和  a

     S3:       如果temp = “right on”,则执行S5,否则执行S4

     S4:  将a记录于数组num中,将temp表示为 ‘>’ 或 '<' 字符记录于ch中,继续执行S2操作

     S5:  遍历数组num,比较num[i]与a的大小符号是否与 ch[i]显示的一致

     S6:      输出结果

    因为这是我AC的第100题,所以写得比较详细。

 1 #include <stdio.h>
 2 #include <string.h>
 3 int main()
 4 {
 5     int num[1000], i, a, n, f;
 6     char ch[1000], temp[15];
 7     while(scanf("%d\n", &a) == 1 && a){
 8         gets(temp);
 9         i = 0;
10         while(strcmp(temp,"right on") != 0){
11             num[i] = a;
12             if(strcmp(temp,"too high") == 0)
13                 ch[i] = '<';
14             else
15                 ch[i] = '>';
16             i++;
17             scanf("%d\n", &a);
18             gets(temp);
19         }
20         n = i;
21         f = 1;
22         for(i = 0; i < n; i++){
23             if(ch[i] == '>' && num[i] >= a)
24                 f = 0;
25             if(ch[i] == '<' && num[i] <= a)
26                 f = 0;
27         }
28         if(f == 0)
29             printf("Stan is dishonest\n");
30         else
31             printf("Stan may be honest\n");
32     }
33     return 0;
34 }