| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1762 人关注过本帖
标题:一道关于数字的题,请高手帮帮忙,编下代码
只看楼主 加入收藏
C语
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-9-8
收藏
 问题点数:0 回复次数:24 
一道关于数字的题,请高手帮帮忙,编下代码
求C语言代码,题目是1,3,5,8,9,10,15,20,24,能循环出多少组4个不相同的数  成一组的数组!!


如可以组成1,3,5,8     1,3,5,9,   1,3,5,10
搜索更多相关主题的帖子: 小弟在此谢了 
2008-09-08 13:27
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 
组合问题?你自己循环一下就行啦。
2008-09-08 13:40
csynyk
Rank: 1
等 级:新手上路
威 望:1
帖 子:114
专家分:0
注 册:2008-8-9
收藏
得分:0 
这是很简单的一个练习循环的题目,建议lz自己动手!实在调不通了在吧代码贴上来!----多练是学C的重要环节!

http://blog./csynyk
2008-09-08 14:14
liyanhong
Rank: 3Rank: 3
来 自:水星
等 级:禁止访问
威 望:8
帖 子:1867
专家分:0
注 册:2008-5-3
收藏
得分:0 
有错还请各位改正
int main(void)
{
   int d[9],i,j=0,k=0;
   int c[9]={1,3,5,8,9,10,15,20,24};
   for(d[0]=0;d[0]<2;d[0]++)
   for(d[1]=0;d[1]<2;d[1]++)
   for(d[2]=0;d[2]<2;d[2]++)
   for(d[3]=0;d[3]<2;d[3]++)
   for(d[4]=0;d[4]<2;d[4]++)
   for(d[5]=0;d[5]<2;d[5]++)
   for(d[6]=0;d[6]<2;d[6]++)
   for(d[7]=0;d[7]<2;d[7]++)
   for(d[8]=0;d[8]<2;d[8]++)
   for(i=8;i>=0;i--)
   {
     if(c[i]*d[i]!=0)
     {
      
       printf("%d",c[i]*d[i]);
       k++;
     }
     if(k%4==0)
     {
        printf("\t");
        break;
     }
    
   }
}

[[it] 本帖最后由 liyanhong 于 2008-9-8 16:52 编辑 [/it]]

爱上你 是 我的错  可是离 开  又舍不得  听着你为我写的歌     好难过
如果说 我说如果  我们还 能  重新来过   不去计 较 谁对谁错  会怎么做
2008-09-08 16:51
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
很黄很暴力....

樱花大战,  有爱.
2008-09-08 16:54
liyanhong
Rank: 3Rank: 3
来 自:水星
等 级:禁止访问
威 望:8
帖 子:1867
专家分:0
注 册:2008-5-3
收藏
得分:0 
枚举写的 有错请改正
main()
{
  enum digit{aa,ab,ac,ad,ae,af,ag,ah,aj}a,b,c,d;
  int name[]={1,3,5,8,9,10,15,20,24};
  int num=0;
  for(a=aa;a<=aj;a++)
  {
    for(b=aa;b<=aj;b++)
    {
      if(a!=b)
        for(c=aa;c<=aj;c++)
        {
          if(c!=a&&c!=b)
            for(d=aa;d<=aj;d++)
            {
              if(d!=a&&d!=b&&d!=c)
              {
                num++;
                printf("\n%-5d",num);
                printf("%d %d %d %d\n",name[a],name[b],name[c],name[d]);
              }
          }
        }
    }
  }
  printf("\nTotal:%d",num);
}

爱上你 是 我的错  可是离 开  又舍不得  听着你为我写的歌     好难过
如果说 我说如果  我们还 能  重新来过   不去计 较 谁对谁错  会怎么做
2008-09-09 22:46
qfyzy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:380
专家分:86
注 册:2008-2-17
收藏
得分:0 
晕,你会用递归不?

当对C的经验增加时,它会显的很好用.----Dennis M Ritche如是说
2008-09-09 23:10
liyanhong
Rank: 3Rank: 3
来 自:水星
等 级:禁止访问
威 望:8
帖 子:1867
专家分:0
注 册:2008-5-3
收藏
得分:0 
[bo][un]qfyzy[/un] 在 2008-9-9 23:10 的发言:[/bo]

晕,你会用递归不?

请帖出代码共享一下

爱上你 是 我的错  可是离 开  又舍不得  听着你为我写的歌     好难过
如果说 我说如果  我们还 能  重新来过   不去计 较 谁对谁错  会怎么做
2008-09-09 23:14
qfyzy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:380
专家分:86
注 册:2008-2-17
收藏
得分:0 
手上没有编译器,先说下算法。
这有9个数,全不相同,不考虑顺序的话,是9C4=126(粗略算了下可能不对)种可能。
建3个全局数组 int record[126][4]={0};int used[4]={0};int temp[4]={0};
一个main函数,一个递归函数,一检测是否相同的函数。
写下递归的伪代码
int pro(int leave){
   int i;
   if(!leave){
       test();
   }
   else if{
      for(i=0;i<9;i++){
         如果第i个数可用{
             temp[4-leave]=第i个数;
             pro(leave-1);
      }
   }
   return 0;
}

当对C的经验增加时,它会显的很好用.----Dennis M Ritche如是说
2008-09-09 23:39
liyanhong
Rank: 3Rank: 3
来 自:水星
等 级:禁止访问
威 望:8
帖 子:1867
专家分:0
注 册:2008-5-3
收藏
得分:0 
按照指定格式输出的 有错请改正
#include<stdio.h>
int n,r,flag;
int a[]={0,1,3,5,8,9,10,15,20,24};
main()
{
  int s;
  printf("Enter N,R:");
  scanf("%d%d",&n,&r);
  printf("combinations:\n");
  flag=1;
  combinations(1,r);
}

combinations(int s,int j)
{
  int i,k;
  for(i=s;i<=n-j+1;i++)
  {
    if(flag)
      for(k=0;k<r-j;k++)
      {
    printf("   ");
      }
    printf("%3d",a[i]);
    flag=0;
    if(j>1)
      combinations(i+1,j-1);
    else
    {
      putchar('\n');
      flag=1;
    }
  }
}

爱上你 是 我的错  可是离 开  又舍不得  听着你为我写的歌     好难过
如果说 我说如果  我们还 能  重新来过   不去计 较 谁对谁错  会怎么做
2008-09-10 07:54
快速回复:一道关于数字的题,请高手帮帮忙,编下代码
数据加载中...
 
   



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

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