| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1294 人关注过本帖
标题:随机输出数组做比较。。。。
只看楼主 加入收藏
lyxcjm
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2011-4-16
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:18 
随机输出数组做比较。。。。
以1到10随机排列,6个数为一组,编一程序。要求;输出所有不重复(位置不论)且和下列数组中有4个或以上数字不相同的数组。
                           {1,2,3,4,5,6}{3,6,7,9,10}{1,2,4,7,8,9}{1,3,4,7,9,}......
帮帮忙。可以的话,把步骤和代码列出来。。。谢谢


就是这意思;
事先从1到10中随机抽取6个各不相同数组成一组,(是要抽取所有能抽取到的这样不重复的数组)。
然后等待用户输入数字。用户输入的数字取值范围不限(可能只能是正整数),但至少要输入4个数字,至多输入12个(有些数字不一定是在1到10之间)。如果之前生成的那组数里有4个或以上数字与用户后来输入的不相同(换句话说那组数里至少不包含4个用户输入过的数字),则输出那组数。否则不输出。
  这很难吗???帮忙搞搞。。。谢谢。。
搜索更多相关主题的帖子: 数字 正整数 用户 
2012-07-01 10:56
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
收藏
得分:0 
回复 楼主 lyxcjm
这程序写了要用来干嘛。。。
2012-07-01 11:45
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
收藏
得分:0 
回复 楼主 lyxcjm
随机产生的6个数要产生多少组?
2012-07-01 11:48
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
收藏
得分:0 
回复 楼主 lyxcjm
产生所有的么?你编到哪一步了?
2012-07-01 11:59
lyxcjm
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2011-4-16
收藏
得分:0 
是产生所有。不过,不是输出所有,,符合要求就输出。。。
2012-07-01 14:03
lyxcjm
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2011-4-16
收藏
得分:0 
回复 2楼 fenghelong
测试架上用的
2012-07-01 14:04
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
收藏
得分:0 
回复 6楼 lyxcjm
在帮你写
2012-07-01 22:14
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
收藏
得分:0 
回复 楼主 lyxcjm
程序代码:
#include <stdio.h>
#include <stdlib.h>
int b=999999-100000+1;
int *a;
void Create_array(){//把从10000~999999之间的数放在数组中 
a=(int*)malloc((1000000-1)*sizeof(int));
a[0]=100000;
for(int i=1;i<b;i++){
    a[i]=a[0]+i;
}
}
bool Judge_repeat(int bbc){//判断每个位上面有没有重复的数字,如果有相同的返回true
    char str[7]={0};
    itoa(bbc,str,10);
    int j;
    for(int i=0;i<6;i++){
    j=i+1;
    while(j<6){
        if(str[i]==str[j])
            return true;
        j++;
    }
}
    return false;
}
void Delete_repeat(){//去除有重复数字的数,把有重复数字的那个数直接赋为0
    for(int i=0;i<b;i++){
        if(Judge_repeat(a[i]))
            a[i]=0;
    }
}
int main(){
    Create_array();
    Delete_repeat();
         for(int i=0;i<b;i++){
            if(a[i]!=0)
             printf("%d  ",a[i]);
         }
    char c=getchar();
    return 0;
}
2012-07-01 22:17
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
收藏
得分:0 
这个程序是生成不重复的六位数,包含了所有的情况,存放在数组a中
2012-07-01 22:18
fenghelong
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
威 望:2
帖 子:209
专家分:197
注 册:2011-8-18
收藏
得分:0 
但是看到你后面所描述的有些迷惑了,感觉你的描述很让人迷惑不解,“如果之前生成的那组数里有4个或以上数字与用户后来输入的不相同”,这句话的意思是不是就是用户输入的数字里面有0个或者1个或者2个与产生的六位数字相同呢?与你说的是一个意思,但是你括号里面的话让我很不理解。。。解释下呢,我好继续写。
2012-07-01 22:27
快速回复:随机输出数组做比较。。。。
数据加载中...
 
   



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

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