飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4689|回复: 3

一个典型的遍历问题。

[复制链接]
  • TA的每日心情
    开心
    2024-12-1 11:04
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2004-12-14 10:45:44 | 显示全部楼层 |阅读模式
    一个典型的遍历问题。
    发信人: elliott_lao(天马)
    整理人: wenbobo(2002-06-11 19:08:06), 站内信件  
    请回答下面10个问题:  
     1、第一个答案是b的问题是哪一个?  
      (a)2;(b) 3;(c)4;(d)5;(e)6  
     2、唯一的连续两个具有相同答案的问题是:  
      (a)2,3;(b)3,4;(c)4,5;(d)5,6;(e)6,7;  
    3、本问题答案和哪一个问题的答案相同?  
      (a)1;(b)2;(c)4;(d)7;(e)6  
     4、答案是a的问题的个数是:
      (a)0;(b)1;(c)2;(d)3;(e)4  
    5、本问题答案和哪一个问题的答案相同?  
      (a)10;(b)9;(c)8;(d)7;(e)6  
     6、答案是a的问题的个数和答案是什么的问题的个数相同?  
      (a)b;(b)c;(c)d;(d)e;(e)以上都不是  
     7、按照字母顺序,本问题的答案和下一个问题的答案相差几个字母?  
      (a)4;(b)3;(c)2;(d)1;(e)0。(注:a和b相差一个字母)  
    8、答案是元音字母的问题的个数是:  
      (a)2;(b)3;(c)4;(d)5;(e)6。(注:a和e是元音字母)  
     9、答案是辅音字母的问题的个数是:  
      (a)一个质数;(b)一个阶乘数;(c)一个平方数;(d)一个立方数,(e)5的倍数  
     10、本问题的答案是:  
      (a)a;(b)b;(c)c;(d)d;(e)e。  
    答案:cdebeedcba
    程序如下:
    struct answer
    {
      int a[11];
      int b[6];
    } ans;

    /*原型定义*/
    void init_ans(); /*初始化ans*/
    void cal_ans(); /*统计ans结果*/
    int j1(); /*判断并加1*/

    int d1(); /*判断条件1成立否*/
    int d2();
    int d3();
    int d4();
    int d5();
    int d6();
    int d7();
    int d8();
    int d9();

    int main()
    {
    int t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;  /*判断数组*/
    init_ans();
    cal_ans();

    do
        {
         /*初始化判断数组*/
         t1 = 1;
         t2 = 1;
         t3 = 1;
         t4 = 1;
         t5 = 1;
         t6 = 1;
         t7 = 1;
         t8 = 1;
         t9 = 1;
         t10 = 1;

         t1 = d1();
         if (t1 == 0)
            {
             continue;
            }
         t2 = d2();
         if (t2 == 0)
            {
             continue;
            }
         t3 = d3();
         if (t3 == 0)
            {
             continue;
            }
         t4 = d4();
         if (t4 == 0)
            {
             continue;
            }
         t5 = d5();
         if (t5 == 0)
            {
             continue;
            }
         t6 = d6();
         if (t6 == 0)
            {
             continue;
            }
         t7 = d7();
         if (t7 == 0)
            {
             continue;
            }
         t8 = d8();
         if (t8 == 0)
            {
             continue;
            }
         t9 = d9();
         if (t9 == 0)
            {
             continue;
            }
         printf("结果是%d %d %d %d %d %d %d %d %d %d。\n",ans.a[1],ans.a[2],ans.a[3],ans.a[4],ans.a[5],ans.a[6],ans.a[7],ans.a[8],ans.a[9],ans.a[10]);
        }
    while(j1());
    }  

    void init_ans()   /*初始化ans组*/
    {
    ans.a[1] = 1;
    ans.a[2] = 1;
    ans.a[3] = 1;
    ans.a[3] = 1;
    ans.a[4] = 1;
    ans.a[5] = 1;
    ans.a[6] = 1;
    ans.a[7] = 1;
    ans.a[8] = 1;
    ans.a[9] = 1;
    ans.a[10] = 1;
    }

    void cal_ans()     /*统计答案结果*/
    {
    int i;
    ans.b[1] = 0;
    ans.b[2] = 0;
    ans.b[3] = 0;
    ans.b[4] = 0;
    ans.b[5] = 0;

    for(i=1;i<=10;i++)
    {
    if(ans.a == 1)
    {
    ans.b[1] = ans.b[1] + 1;
    continue;
    }
    if(ans.a == 2)
    {
    ans.b[2] = ans.b[2] + 1;
    continue;
    }
    if(ans.a == 3)
    {
    ans.b[3] = ans.b[3] + 1;
    continue;
    }
    if(ans.a == 4)
    {
    ans.b[4] = ans.b[4] + 1;
    continue;
    }
    if(ans.a == 5)
    {
    ans.b[5] = ans.b[5] + 1;
    }
    }
    }

    int j1()
    {
    if(ans.a[10] == 5 && ans.a[9] == 5 && ans.a[8] == 5 && ans.a[7] == 5 && ans.a[6] == 5 && ans.a[5] == 5 && ans.a[4] == 5 && ans.a[3] == 5 && ans.a[2] == 5 && ans.a[1] == 5)
    {
    return 0;
    }
    else
    {
    ans.a[1] = ans.a[1] + 1;
    if(ans.a[1] == 6)
    {
    ans.a[1] = 1;
    ans.a[2] = ans.a[2] + 1;
    if(ans.a[2] == 6)
    {
    ans.a[2] = 1;
    ans.a[3] = ans.a[3] + 1;
    if(ans.a[3] == 6)
    {
    ans.a[3] = 1;
    ans.a[4] = ans.a[4] + 1;
    if(ans.a[4] == 6)
    {
    ans.a[4] = 1;
    ans.a[5] = ans.a[5] + 1;
    if(ans.a[5] == 6)
    {
    ans.a[5] = 1;
    ans.a[6] = ans.a[6] + 1;
    if(ans.a[6] == 6)
    {
    ans.a[6] = 1;
    ans.a[7] = ans.a[7] + 1;
    if(ans.a[7] == 6)
    {
    ans.a[7] = 1;
    ans.a[8] = ans.a[8] + 1;
    if(ans.a[8] == 6)
    {
    ans.a[8] = 1;
    ans.a[9] = ans.a[9] + 1;
    if(ans.a[9] == 6)
    {
    ans.a[9] = 1;
    ans.a[10] = ans.a[10] + 1;
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    cal_ans();/*统计结果数*/
    return 1;
    }

    int d1()
    {
    int n_b;
    int i;

    n_b = 11;
    for(i=1;i<=10;i++)
    {
    if(ans.a == 2)
    {
    n_b = i;
    break;
    }
    }
    if(ans.a[1] == 1 && n_b == 2)
    {
    return 1;
    }
    if(ans.a[1] == 2 && n_b == 3)
    {
    return 1;
    }
    if(ans.a[1] == 3 && n_b == 4)
    {
    return 1;
    }
    if(ans.a[1] == 4 && n_b == 5)
    {
    return 1;
    }
    if(ans.a[1] == 5 && n_b == 6)
    {
    return 1;
    }
    return 0;
    }

    int d2()
    {
    int n_b1;
    int n_b2;
    int i;
    int j;

    for(i=1;i<10;i++)
    {
    n_b1 = 11;
    n_b2 = 11;
    for(j=i+1;j<10;j++)
    {
    if(ans.a[j] == ans.a[j+1])
    {
    n_b2 = j;
    break;
    }
    }
    if(ans.a == ans.a[i+1] && n_b2 == 11)
    {
    n_b1 = i;
    break;
    }
    }
    if(ans.a[2] == 1 && n_b1 == 2)
    {
    return 1;
    }
    if(ans.a[2] == 2 && n_b1 == 3)
    {
    return 1;
    }
    if(ans.a[2] == 3 && n_b1 == 4)
    {
    return 1;
    }
    if(ans.a[2] == 4 && n_b1 == 5)
    {
    return 1;
    }
    if(ans.a[2] == 5 && n_b1 == 6)
    {
    return 1;
    }
    return 0;
    }

    int d3()
    {
    if(ans.a[3] == 1 && ans.a[3] == ans.a[1])
    {
    return 1;
    }
    if(ans.a[3] == 2 && ans.a[3] == ans.a[2])
    {
    return 1;
    }
    if(ans.a[3] == 3 && ans.a[3] == ans.a[4])
    {
    return 1;
    }
    if(ans.a[3] == 4 && ans.a[3] == ans.a[7])
    {
    return 1;
    }
    if(ans.a[3] == 5 && ans.a[3] == ans.a[6])
    {
    return 1;
    }
    return 0;
    }

    int d4()
    {
    if(ans.a[4] == 1 && ans.b[1] == 0)
    {
    return 1;
    }
    if(ans.a[4] == 2 && ans.b[1] == 1)
    {
    return 1;
    }
    if(ans.a[4] == 3 && ans.b[1] == 2)
    {
    return 1;
    }
    if(ans.a[4] == 4 && ans.b[1] == 3)
    {
    return 1;
    }
    if(ans.a[4] == 5 && ans.b[1] == 4)
    {
    return 1;
    }
    return 0;
    }

    int d5()
    {
    if(ans.a[5] == 1 && ans.a[5] == ans.a[10])
    {
    return 1;
    }
    if(ans.a[5] == 2 && ans.a[5] == ans.a[9])
    {
    return 1;
    }
    if(ans.a[5] == 3 && ans.a[5] == ans.a[8])
    {
    return 1;
    }
    if(ans.a[5] == 4 && ans.a[5] == ans.a[7])
    {
    return 1;
    }
    if(ans.a[5] == 5 && ans.a[5] == ans.a[6])
    {
    return 1;
    }
    return 0;
    }

    int d6()
    {
    if(ans.a[6] == 1 && ans.b[1] == ans.b[2])
    {
    return 1;
    }
    if(ans.a[6] == 2 && ans.b[1] == ans.b[3])
    {
    return 1;
    }
    if(ans.a[6] == 3 && ans.b[1] == ans.b[4])
    {
    return 1;
    }
    if(ans.a[6] == 4 && ans.b[1] == ans.b[5])
    {
    return 1;
    }
    if(ans.a[6] == 5 && ans.b[1] != ans.b[2] && ans.b[1] != ans.b[3] && ans.b[1] != ans.b[4] && ans.b[1] != ans.b[5])
    {
    return 1;
    }
    return 0;
    }

    int d7()
    {
    if(ans.a[7] == 1 && (ans.a[8] - ans.a[7] == 4))
    {
    return 1;
    }
    if(ans.a[7] == 2 && (ans.a[8] - ans.a[7] == 3))
    {
    return 1;
    }
    if(ans.a[7] == 3 && (ans.a[8] - ans.a[7] == 2 || ans.a[7] - ans.a[8] == 2))
    {
    return 1;
    }
    if(ans.a[7] == 4 && (ans.a[8] - ans.a[7] == 1 || ans.a[7] - ans.a[8] == 1))
    {
    return 1;
    }
    if(ans.a[7] == 5 && (ans.a[8] - ans.a[7] == 0))
    {
    return 1;
    }
    return 0;
    }

    int d8()
    {
    if(ans.a[8] == 1 && ans.b[1] + ans.b[5] == 2)
    {
    return 1;
    }
    if(ans.a[8] == 2 && ans.b[1] + ans.b[5] == 3)
    {
    return 1;
    }
    if(ans.a[8] == 3 && ans.b[1] + ans.b[5] == 4)
    {
    return 1;
    }
    if(ans.a[8] == 4 && ans.b[1] + ans.b[5] == 5)
    {
    return 1;
    }
    if(ans.a[8] == 5 && ans.b[1] + ans.b[5] == 6)
    {
    return 1;
    }
    return 0;
    }

    int d9()
    {
    if(ans.a[9] == 1 && (ans.b[2] + ans.b[3] + ans.b[4] == 5 || ans.b[2] + ans.b[3] + ans.b[4] == 7))
    {
    return 1;
    }
    if(ans.a[9] == 2 && (ans.b[2] + ans.b[3] + ans.b[4] == 6))
    {
    return 1;
    }
    if(ans.a[9] == 3 && (ans.b[2] + ans.b[3] + ans.b[4] == 4))
    {
    return 1;
    }
    if(ans.a[9] == 4 && (ans.b[2] + ans.b[3] + ans.b[4] == 8))
    {
    return 1;
    }
    if(ans.a[9] == 5 && (ans.b[2] + ans.b[3] + ans.b[4] == 5))
    {
    return 1;
    }
    return 0;
    }

    ----
    -世上是先有鸡,还是先有蛋- Elliott lao
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2020-7-18 14:10
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2006-9-9 08:55:32 | 显示全部楼层
    谢谢.好文
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2015-12-17 23:46
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2006-9-9 08:59:31 | 显示全部楼层

    不错

    强烈要求学习!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-9-9 09:37:28 | 显示全部楼层
    恩,我先收下来,再好好看看,谢谢了~~~~~~
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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