| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1939 人关注过本帖
标题:怎么表示a,b,c,d,e,f,g互不相同.谢谢哦~~
只看楼主 加入收藏
zzxwill
Rank: 1
等 级:新手上路
帖 子:398
专家分:0
注 册:2007-8-15
收藏
 问题点数:0 回复次数:10 
怎么表示a,b,c,d,e,f,g互不相同.谢谢哦~~

#include<stdio.h>
main()
{
int i,j,a,b,c,d,e,f,g;
f=4;
for(i=1;i<=7;i++)
for(j=1;j<=7;j++){


a=i;
b=j-3;
c=i-1;
d=15-i-j;
e=13-i-j;

g=j;

if((4-b)*(4-c)<=0&&a>0&&b>0&&c>0&&d>0&&e>0&&f>0&&g>0)
//还有一个约束条件是a,b,c,d,e,f,g互不相同,怎么表示,除了用a!=b;a!=c,...... 谢谢//~~
printf("%d %d %d %d %d %d %d\n",a,b,c,d,e,f,g);

}
printf("\n");


}

搜索更多相关主题的帖子: include 
2007-08-22 07:09
lishizelibin
Rank: 2
等 级:论坛游民
帖 子:513
专家分:41
注 册:2007-5-10
收藏
得分:0 
我不知道
如果是我,我会编个函数
int a(int s[],n);用它判断
s[]为要判断的数存在数组中
返回1,成功说明都互不相等
n要判断的互不相等元素的个数
用for(;;)遍历
设两个指示符
初始状态如下
  ↓ (第二个指示符)
□ □ □ □ □ □…… n……
↑(第一个指示符)
第二个遍历
第一个加一
第二个为原第二个状态加一
也许有别的方法
我第一次看这问题
好象如果遇到很多数时,有特殊的数学方法,可以使算法更快
我也想知道有什么方法呀,本人见识短,也学习学习

惟有学习不断的学习!
2007-08-22 07:46
zzxwill
Rank: 1
等 级:新手上路
帖 子:398
专家分:0
注 册:2007-8-15
收藏
得分:0 

我按照你的提示修改了代码,但还是有我看不出的问题???
#include<stdio.h>
main()
{
int i,j,k,x[10],key;
x[6]=4;


for(i=1;i<=7;i++){
key=1;
for(j=1;j<=7;j++){
x[1]=i;
x[2]=j-3;
x[3]=i-1;
x[4]=15-i-j;
x[5]=13-i-j;
x[7]=j;

if((4-x[2])*(4-x[3])<0){
for(k=1;k<=7;k++)
if(x[k]>0&&x[k]<=7){
for(i=1;i<=7;i++)
for(j=i+1;j<=7;j++){
if(x[i]==x[j]){//各数互不相同
key=0;
break;

}

}
}
}

}


if(key==1){
for(i=1;i<=7;i++){
printf("%d ",x[i]);
}
printf("\n");
}

}
}


一分耕耘,一分收获。
2007-08-23 08:56
lishizelibin
Rank: 2
等 级:论坛游民
帖 子:513
专家分:41
注 册:2007-5-10
收藏
得分:0 

你学函数了么?,把它另做个函数呀

也不用这样麻烦了,我看了一个帖子


惟有学习不断的学习!
2007-08-23 09:01
lishizelibin
Rank: 2
等 级:论坛游民
帖 子:513
专家分:41
注 册:2007-5-10
收藏
得分:0 


这个问题也许也有别的什么简单的方法
看看别人的回答

[此贴子已经被作者于2007-8-23 9:21:03编辑过]


惟有学习不断的学习!
2007-08-23 09:20
nwpu063417
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:428
专家分:28
注 册:2007-5-11
收藏
得分:0 

那段用注释括起来的就是你需要的函数:

#include <stdio.h>
#define N 9
/**********数组是否有两个相同元素**********/
int cover(int a[], int n)
{
int i, j;
for(i = 0; i < n-1; i++)
for(j = i+1; j < n; j++)
{
if(a[i] == a[j])
return 1;
}
return 0;
}
/******************************************/

int main( void )
{
int a[N] = {1,2,6,3,5,9,10,7,4};
if(cover(a,N))
printf("有重复\n");
else
printf("无重复\n");
}


2007-08-23 09:25
zzxwill
Rank: 1
等 级:新手上路
帖 子:398
专家分:0
注 册:2007-8-15
收藏
得分:0 

请问怎样找到这个帖子?


一分耕耘,一分收获。
2007-08-23 09:27
lishizelibin
Rank: 2
等 级:论坛游民
帖 子:513
专家分:41
注 册:2007-5-10
收藏
得分:0 
我觉得还是你自己编,那样学到的不仅这一个问题,虽然你上面自己写的有问题
但是自己编的,我感觉很棒,我们都加油哦

惟有学习不断的学习!
2007-08-23 09:59
zzxwill
Rank: 1
等 级:新手上路
帖 子:398
专家分:0
注 册:2007-8-15
收藏
得分:0 
回复:(nwpu063417)那段用注释括起来的就是你需要的...

呵呵,谢谢~~


一分耕耘,一分收获。
2007-08-24 06:46
zzxwill
Rank: 1
等 级:新手上路
帖 子:398
专家分:0
注 册:2007-8-15
收藏
得分:0 
回复:(lishizelibin)我觉得还是你自己编,那样学到...

呵呵,大哥说得对.


一分耕耘,一分收获。
2007-08-24 08:14
快速回复:怎么表示a,b,c,d,e,f,g互不相同.谢谢哦~~
数据加载中...
 
   



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

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