| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1659 人关注过本帖
标题:[求助]关于if语句的一个小问题
只看楼主 加入收藏
提灯寻影
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2005-4-7
收藏
 问题点数:0 回复次数:23 
[求助]关于if语句的一个小问题
A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些
人参加了竞赛:
(1)A参加时,B也参加;
(2)B和C只有一个人参加;
(3)C和D或者都参加,或者都不参加;
(4)D和E中至少有一个人参加;
(5)如果E参加,那么A和D也都参加。


#include"stdio.h"
main()
{
int i;
char a[5];
if(a[0] = 'a')
a[1] = 'b';
if(a[1] = 'b')
a[2] = '\0';
if(a[2] = 'c')
a[1] = '\0';
if(a[2] = 'c')
a[3] = 'd';
if(a[3] = 'd')
a[2] = 'c';
if(a[4] = 'e')
{
a[0] = 'a';
a[3] = 'd';
}
for(i=0;i<5;i++)
{
printf("%s",a[i]);
}
}

请高手指点一下哦,调试可以,运行不通过,

而如果把if()的=改成==的话,则输出5个都是null了,
搜索更多相关主题的帖子: 语句 计算机 参加 
2006-04-20 15:12
zhanglinan
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-4-13
收藏
得分:0 

题目不对,如果A去B也去那么CD不去E就的去,那么AD的区矛盾啊

2006-04-20 15:44
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
收藏
得分:0 

#include<stdio.h>

int
main(void)
{
int A,B,C,D,E;
int i;
for(A=1;A>=0;A--)
for(B=1;B>=0;B--)
for(C=1;C>=0;C--)
for(D=1;D>=0;D--)
for(E=1;E>=0;E--)
if(A+B==2&&B+C==1&&(C+D==2||C+D==0)&&D+E>=1&&(E==1&&A+D==2))
{
printf("A will %s attend.\n",A?"":"not");
printf("B will %s attend.\n",B?"":"not");
printf("C will %sattend.\n",C?"":"not");
printf("D will %sattend.\n",D?"":"not");
printf("E will %sattend.\n",E?"":"not");
}
return 0;

}


我的原则很简单:不做不喜欢的事!
2006-04-20 17:59
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
收藏
得分:0 
没写注释.对不起.
你的题目没答案,我的代码应该没错,运行后得不到结果,你的题目应该有问题.

我的原则很简单:不做不喜欢的事!
2006-04-20 18:00
龙轩v亚风
Rank: 1
等 级:新手上路
威 望:1
帖 子:1073
专家分:0
注 册:2006-4-20
收藏
得分:0 
我觉得 题目没问题 不矛盾  

狂风扫落叶,扫把都失业!拍卖QQ:559372
2006-04-20 18:05
龙轩v亚风
Rank: 1
等 级:新手上路
威 望:1
帖 子:1073
专家分:0
注 册:2006-4-20
收藏
得分:0 
晕 怎么都没用 scanf 啊 这个是个判断题
比如说 A去了 问其他人谁去了 谁没去 显示出来 是吧! 楼主问的是这个意思吧!

狂风扫落叶,扫把都失业!拍卖QQ:559372
2006-04-20 18:11
龙轩v亚风
Rank: 1
等 级:新手上路
威 望:1
帖 子:1073
专家分:0
注 册:2006-4-20
收藏
得分:0 
if (a[0]==1)
a[1]=1;
if (a[1]==1)
a[2]=0;
else
a[2]=1;
if (a[2]==1)
a[3]=1;
else
a[3]=0;
if (a[3]==1)
a[4]=0||a[4]=1;
else
a[4]=1;
if (a[4]=1)
a[0]=1;
a[1]=1;

1为去的 0为不去的 我做了大概 判断
看看是不是 这个意思

狂风扫落叶,扫把都失业!拍卖QQ:559372
2006-04-20 18:22
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
收藏
得分:0 
对不起,我条件写错了,题目没错``
我立刻把代码贴上来;并写上简单注释``

我的原则很简单:不做不喜欢的事!
2006-04-20 18:26
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
收藏
得分:0 

#include<stdio.h>

int
main(void)
{
int A,B,C,D,E; //定义A,B,C,D,E五个变量;
int i;
for(A=1;A>=0;A--) //用穷举法来判断,1表示参加,0表示不参加
for(B=1;B>=0;B--)
for(C=1;C>=0;C--)
for(D=1;D>=0;D--)
for(E=1;E>=0;E--)
/*条件判断,把题目每个条件并起来,这部分楼主自己领会,很简单的;
if((A+B==2||A==1)&&B+C==1&& (C+D==2||C+D==0&&D+E>=1&& (E==0||A+D+E==3))
{
printf("A will %s attend.\n",A?"":"not"); //用表达式(X?Y:Z)打印;
printf("B will %s attend.\n",B?"":"not");
printf("C will %sattend.\n",C?"":"not");
printf("D will %sattend.\n",D?"":"not");
printf("E will %sattend.\n",E?"":"not");
}
return 0;

}


我的原则很简单:不做不喜欢的事!
2006-04-20 18:34
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
收藏
得分:0 
行了``上面的代码现在没问题了``

我的原则很简单:不做不喜欢的事!
2006-04-20 18:34
快速回复:[求助]关于if语句的一个小问题
数据加载中...
 
   



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

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