| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 426 人关注过本帖
标题:帮忙检查下下面的程序,谢谢啦!(有 1,2,3,4 四个数能组成多少个无重复 ...
只看楼主 加入收藏
yangcaifei
Rank: 4
来 自:陕西
等 级:业余侠客
威 望:2
帖 子:127
专家分:216
注 册:2014-11-3
结帖率:84%
收藏
已结贴  问题点数:15 回复次数:5 
帮忙检查下下面的程序,谢谢啦!(有 1,2,3,4 四个数能组成多少个无重复的三位数)
#include<stdio.h>
#define N 4

int main()
{
    int a[N]= {1,2,3,4},i,j,k,h=0,geshu=0;
    for(i=0; i<4; i++)
    {
        for(j=0; j<4; j++)
        {
            if(a[i]==a[j])
            {
                break;
            }
            for(k=0; k<4; k++)
            {
                if(a[k]==a[j]||a[i]==a[k])
                {
                    break;
                }
            }
        }
        h=a[i]*100+a[j]*10+a[k];
        geshu=geshu=+1;
        printf("%d\n%d\n",geshu,h);

    }

    return 0;
}
搜索更多相关主题的帖子: include 
2014-11-15 20:46
chen5656de
Rank: 2
等 级:论坛游民
帖 子:21
专家分:62
注 册:2014-4-14
收藏
得分:1 
这个应该可以吧
程序代码:
/#include<stdio.h>

int main()
{
    int i,j,k,h=0,geshu=0;
    for(i=1; i<=4; i++)
    {
        for(j=1; j<=4; j++)
        {
            if(i==j)
            {
                continue;
            }
            for(k=1; k<=4; k++)
            {
                if(k==j||i==k)
                {
                    continue;
                }
                geshu+=1;
                h=i*100+j*10+k;
                printf("%d\n",h);
            }
        }
    }

    printf("Number of integer :%d\n",geshu);

    return 0;
}


[ 本帖最后由 chen5656de 于 2014-11-15 21:19 编辑 ]
2014-11-15 21:13
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:5 
程序代码:
#include<stdio.h>
#define N 4

int main()
{
    int a[N]= {1,2,3,4},i,j,k,h=0,geshu=0;
    for(i=0; i<4; i++)
    {
        for(j=0; j<4; j++)
        {
            if(a[i]==a[j])
            {
                continue;                /* break改为continue */
            }
            for(k=0; k<4; k++)
            {
                if(a[k]==a[j]||a[i]==a[k])
                {
                    continue;        /* break改为continue */
                }
                 h=a[i]*100+a[j]*10+a[k];
                 geshu=geshu+1;        /*具体数字的输出和计数放到这里*/
                 printf("%d\t",h);
            }
        }
    }
    putchar('\n');
    printf("%d\n",geshu);    /*计数输出放在最后*/

    return 0;
}
2014-11-15 21:21
chen5656de
Rank: 2
等 级:论坛游民
帖 子:21
专家分:62
注 册:2014-4-14
收藏
得分:9 
来看看题主代码有误的地方,希望能帮到你
程序代码:
#include<stdio.h>
#define N 4

int main()
{
    int a[N]= {1,2,3,4},i,j,k,h=0,geshu=0;  //这个数组有点多此一举了
    for(i=0; i<4; i++)      
    {
        for(j=0; j<4; j++)
        {
            if(a[i]==a[j])          //对应的a[i]就等于i,a[j]也等于j,为什么还要多余的用数组呢
            {
                break;      //相等的话,不能跳出整个循环,应该跳出该次循环用continue,跳出整个循环的话 会漏掉很多数~
            }
            for(k=0; k<4; k++)
            {
                if(a[k]==a[j]||a[i]==a[k])
                {
                    break;
                }
            }
        }
        
        h=a[i]*100+a[j]*10+a[k];    //这种求数要放在最里层,目的是没求出一种可能就计算出这种可能的值,并将个数加1
        geshu=geshu=+1;             //理由同上  表达式也有错误
        printf("%d\n%d\n",geshu,h);//理由同上  这里个数不要在这里输出,把个数输出移到循环外输出,只用输出一次有多少种个数
        //每判断出一种可能就输出到显示器,放在最里层循环中
    }

    return 0;
}

我把我的代码贴在上面了
2014-11-15 21:26
yangcaifei
Rank: 4
来 自:陕西
等 级:业余侠客
威 望:2
帖 子:127
专家分:216
注 册:2014-11-3
收藏
得分:0 
回复 4 楼 chen5656de
谢谢你!我一直对break和continue弄不清楚,真的谢谢你的讲解。
2014-11-15 21:49
yangcaifei
Rank: 4
来 自:陕西
等 级:业余侠客
威 望:2
帖 子:127
专家分:216
注 册:2014-11-3
收藏
得分:0 
回复 3 楼 ouyangshit
谢谢你哟
2014-11-15 21:50
快速回复:帮忙检查下下面的程序,谢谢啦!(有 1,2,3,4 四个数能组成多少个无 ...
数据加载中...
 
   



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

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