| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2019 人关注过本帖
标题:两个让我抓狂的C语言编程题目,我搞了半天也没有搞定,不知道有高手能编出来 ...
只看楼主 加入收藏
·改变自己
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-3-26
收藏
得分:0 
我的!很烦琐但还是写出来了。
#include<stdio.h>
#define P printf
#define S scanf
void main()
{    
    int i;
    int aa[5];
    char a='a';
    
    for(i=0;i<5;i++,a++)
    {
    printf("第%c个同学是否参加了?(1为参加,0为没参加)",a);
    S("%d",&aa[i]);
    }
        //判断//
    if(aa[0]==aa[1])
    {
        if(aa[2]==aa[3])
        {
            if(aa[1]!=aa[2])
            {
                if(aa[3]!=aa[4])
                {
                    P("对");
                }
                else
                {
                    P("错");
                }
            }
            else
                {
                    P("错");
                }
        }
        else
                {
                    P("错");
                }
    }
    else
                {
                    P("错");
                }
}
2008-04-14 21:52
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
(1)A参加时,B也参加;

   (2)B和C只有一个人参加;

   (3)C和D或者都参加,或者都不参加;

   (4)D和E中至少有一个人参加;

   (5)如果E参加,那么A和D也都参加

这个太简单了 `我以前问我一个读初中的妹妹``她几分钟就解决了``

她说: 突破口是3  
      假设CD都不参加: ==> E 参加 ==> D 参加 ==> 和假设矛盾

      所以答案是: 首先有CD
                  然后看E 如果参加 ==> A 参加 ==> B 参加 ==> C 不参加
                                   ==> 与假设矛盾 所以 E不参加
                  有C就没有B  ==> 所以没有A

     所以答案就是CD.

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2008-04-15 13:27
SNAKEQX
Rank: 1
等 级:新手上路
帖 子:112
专家分:3
注 册:2006-4-11
收藏
得分:0 
好逻辑!!精彩!
2008-04-15 14:17
liweiruc
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-10-29
收藏
得分:0 
题一的一种简单算法:
#include<stdio.h>
int main()
{
    int a,b,c,d,e;
    for(a=0;a<2;a++)/*值为1表示参加,0表示没参加*/
        for(b=0;b<2;b++)    
            for(c=0;c<2;c++)
                for(d=0;d<2;d++)
                    for(e=0;e<2;e++)
                    {
                        if((a==1&&b==1||a==0)&&(b+c)==1&&c==d&&(d+e)>0&&(e==1&&a==1&&d==1||e==0))
                            /*分别表示条件1-5*/
                        printf("a=%d,b=%d,c=%d,d=%d,e=%d\n",a,b,c,d,e);
                    }
return 0;
}

[[it] 本帖最后由 liweiruc 于 2008-4-16 00:30 编辑 [/it]]
2008-04-16 00:28
快速回复:两个让我抓狂的C语言编程题目,我搞了半天也没有搞定,不知道有高手能 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018021 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved