| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2812 人关注过本帖
标题:编程输入10以内的4个数字让它组合
只看楼主 加入收藏
C爱好着
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2008-10-31
收藏
 问题点数:0 回复次数:14 
编程输入10以内的4个数字让它组合
输入10以内的4个数字让它组合在一起。看看共有多少个不重复的4位数。
我想了一天也没有想到怎么编写,
谁能教教我啊。
搜索更多相关主题的帖子: 数字 输入 
2008-11-24 17:09
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
这个我以前写过的...地址我找找.

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-24 18:24
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
下次给你,一下子没找到..
现在有事.

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-24 18:27
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
Ok..没找到,自己又写了一份..
利用指针和数组(字符串)完成的

程序代码:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
int main(void){
  char u[4],*a,*b,*c,*d;
  int i=0;
  printf("请输入四个数字(不能有空格,不能有相同的)\n");
  scanf("%s",u);
  printf("\n");
  for(a=u;a<u+4;a++)
    for(b=u;b<u+4;b++){
      if(*a==*b)
        continue;
      for(c=u;c<u+4;c++){
        if(*c==*b || *c==*a)
          continue;
        for(d=u;d<u+4;d++){
          if(*d==*c || *d==*b || *d==*a)
            continue;
          printf("%c%c%c%c   ",*a,*b,*c,*d);
          i++;
          if(i%6==0)
            printf("\n");
        }
      }
    }
  printf("\n一共有%d个数字.",i);
  getch();
  return 0;
}

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-24 19:58
gzbao9999
Rank: 1
等 级:新手上路
威 望:1
帖 子:40
专家分:0
注 册:2008-11-5
收藏
得分:0 
又 是 全 排 列
#include<stdio.h>
#define swap(a,b)  {int t=a; a=b; b=t;}
int time=0;
int array[4];

print()
{
    time++;
    int i ;
    for(i=0;i<4;i++)
    printf(array[i]);
    printf("\n");
}

select(int c)
{
    if(c==4)
    {
        print();
        return ;
    }
    select(c+1);
    int i ;
    for(i=c+1;i<4;i++)
    {
        swap(array[c],array[i]);
        select(c+1);
        swap(array[c],array[i]);
    }
}

main()
{
    printf("输入10以内的4个数字,数字不能重复,以空格分隔");
    scanf("%d %d %d %d %d",&array[0],&array[1],&array[2],&array[3]);
    select(0);
    printf("time=%d",time);
}
2008-11-24 23:23
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 第4楼 zqy110007 的帖子
小朋友,你写的什么代码?我看不明白呀……
2008-11-25 00:14
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1704
专家分:4339
注 册:2007-12-27
收藏
得分:0 
回复 第6楼 广陵绝唱 的帖子
论坛调整的问题,把之间的所有小于号以及紧跟着的都给过滤掉了

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-11-25 00:22
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:0 
//输入10以内的4个数字让它组合在一起。看看共有多少个不重复的4位数。
#include <stdio.h>
void main()
{
    int i,j,k,p,m,number[4]; long count=0;
    //------------
    printf("请输入10以内的不同的4个数字(数字用空格分隔):\n");
    for(i=0;i<4;i++)
        scanf("%d",&number[i]);
    //------------------
    for(i=0;i<4;i++)
      for(j=0;j<4;j++)
      {
         if(j!=i)
         {
           for(k=0;k<4;k++)
              if(k!=i&&k!=j)
                for(p=0;p<4;p++)
                  if(p!=i&&p!=j&&p!=k)
                    {
                       if(count%10==0)printf("\n");
                       count++;
                       printf("%d%d%d%d  ",number[i],number[j],number[k],number[p]);
                    }
            }
        }
    printf("\n一共有%ld个不重复的数。\n",count);
}
2008-11-25 09:38
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
啊??
为什么?

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-25 12:11
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
回复 第7楼 forever74 的帖子
不是过滤了吧?
我学过一点ASP,我不知道PHP怎么做,反正ASP的话,只要在输出是增加一个
Server.HTMLEncode就可以了...

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-25 12:18
快速回复:编程输入10以内的4个数字让它组合
数据加载中...
 
   



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

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