| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 310 人关注过本帖
标题:题目请教!各位高人指点一二……
只看楼主 加入收藏
lixuecheng
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-7-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
题目请教!各位高人指点一二……
在0-100 之间随机产生6 个不同的数填入下面表中,要使得每一列右边的数字比左边的数字大,每一行下面的数字比上面的数字大(其实就是2行3列的输出)要求输出的结果是:
the number is:
0 21 29 32 33 89//随机数
NO.1:
0 21 29
32 33 89
NO.2:
0 21 32
29 33 89
NO.3:
0 21 33
29 32 89
NO.4:
0 29 32
21 33 89
NO.5:
程序代码:
我的程序代码如下:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void fenzu(int array[6])// 分组函数把产生的随机数分给数组
{
    

    int i;
    srand((int) time(0));
    for(i=0;i<6;i++)
    { array[i]=rand()%101;
       printf("%d ",array[i]);}
}
void sort(int c[6])// 排序
{ int j,t,m,n,l,i;
  int d[3];
  int e[3];
  for(i=0;i<6;i++)
  {  printf("No.%d:\n ",i);
    
      for(j=0;j<6;j++)
      {        srand((int) time(0));
            i=rand()%6;
            if(j<=2)
                d[m++]=c[i];
            if(j>2) 
                e[n++]=c[i];
      }
      

  if(d[0]>d[1])                   //d[]组排序
        {t=d[0];d[0]=d[1];d[1]=t;}
  if(d[0]>d[2])
        {t=d[0];d[0]=d[2];d[2]=t;}
  if(d[1]>d[2])
        {t=d[1];d[1]=d[2];d[2]=t;}
  if(e[0]>e[1])                  //e[]组排序
        {t=e[0];e[0]=e[1];e[1]=t;}
  if(e[0]>e[2])
        {t=e[0];e[0]=e[2];e[2]=t;}
  if(e[1]>e[2])
        {t=e[1];e[1]=e[2];e[2]=t;}
  for(i=0;i<=2;i++)               //d[]组e[]组上下对应排序
     if(d[i]>e[i])
     {l=d[i];d[i]=e[i];e[i]=l;}
     for(j=0;j<=2;j++)
     {printf("%d ",d[j]);printf("\n");printf("%d ",e[j]);}


  }

}
void main()
{  int a[6];
   printf("the number is:\n");
   fenzu(a);
   printf("\n");
   sort(a);
}
为什么不可以呢?

0 29 33
21 32 89
搜索更多相关主题的帖子: number 
2011-07-28 15:34
世界模型
Rank: 4
等 级:业余侠客
威 望:1
帖 子:240
专家分:226
注 册:2010-9-12
收藏
得分:5 
既然是随机产生6个数,为什么不可以重复呢?
不可以什么?说清楚啊
2011-07-28 17:15
lixuecheng
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-7-28
收藏
得分:0 
就是产生6个随机数 按照规定的方法排列 如果有相同的 怎么比较大小?是吧 实现的效果就是我写的那样
2011-07-28 19:16
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
先把問題提煉為數學模型,在數學上論證解決了,才談得上寫程序,沒做好這一步,急著寫程序幹嘛?解決方案出來了,用什麽語言都沒問題,不是非C不可的,C不過是實現的手段之一。這才是真正的學寫程序,整天埋頭寫代碼沒用的。

授人以渔,不授人以鱼。
2011-07-28 19:28
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:5 
我的思路是用全排列

[ 本帖最后由 hjywyj 于 2011-7-28 19:44 编辑 ]
2011-07-28 19:42
lixuecheng
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-7-28
收藏
得分:0 
回复 4楼 TonyDeng
请问这是什么数学模型 我看了好久 都没有头绪
2011-07-28 20:18
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
我不知道,你請教一下數學老師,似乎見過某些數學興趣班有這類題目,但老實說我沒踫到這種需要所以不會去鑽研它,我也解不出來。只能告訴你,找數學老師先尋求解決辦法再寫程序,這是正路。如果你在學校,解決這類題目應該不難。

授人以渔,不授人以鱼。
2011-07-28 20:25
快速回复:题目请教!各位高人指点一二……
数据加载中...
 
   



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

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