c语言题:输出由0,1,2,3组成的数字不重复不同的三位数

 我来答
百度网友b79519e
2014-12-19 · TA获得超过3399个赞
知道大有可为答主
回答量:1417
采纳率:100%
帮助的人:1330万
展开全部
#include <stdio.h>
void perm(int* data, int n, int cur)
{
   if (cur == n-1)
   {
       for (int i = 0; i < n-1 ; ++i)
       {
           if(data[0] != 0)//不输出0 开头的
           {
               printf("%d ", data[i]);
           }
       }
       printf("\n");
   }
   else
   {
       for (int i = cur; i < n; ++i)
       {
           int t;
           t = data[cur], data[cur] = data[i], data[i] = t;
           perm(data, n, cur+1);
           t = data[cur], data[cur] = data[i], data[i] = t;
       }
   }
}

int main(int argc,char **argv)
{
   int array[] = {0,1,2,3};
   perm(array, sizeof(array)/sizeof(array[0]), 0);
   return 0;
}

//共18个

匿名用户
2014-12-18
展开全部
全排列
void main()
{
int i, j, k, n = 0;
for (i = 1; i < 4; i++)
for (j = 0; j < 4; j++)
{
if (i == j)continue;
for (k = 0; k < 4; k++)
if (i != k&&j != k)
{
printf("%d %d %d\n", i, j, k);
n++;
}
}
printf("总计%4d种.", n);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式