weixin_43938200 2018-12-03 14:30 采纳率: 50%
浏览 636
已采纳

关于C语言的一道递归题

图片说明
如图,程序要求使用递归算法将组合数的各种可能性按照格式输出,目前我已经做到了这一步:
图片说明
以下为源代码:
请问如何才能按照格式输出,也就是将每一行都右对齐呢?

 #include "stdafx.h"

void combinations(int n,int r,int i)
{
    static int n0=n,r0=r;
    int i1;
    for(i1=i;i1<=n0-r+1;i1++){
        printf("%d ",i1);
        if(r-1>0)
            combinations(n-1,r-1,i1+1); 
        else printf("\n");
    }
}
int _tmain(int argc, _TCHAR* argv[])
{
    int n,r,i=1;
    printf("ENTER N R:");
    scanf_s("%d%d",&n,&r);
    printf("combinations:\n");
    combinations(n,r,i);
    return 0;
}
  • 写回答

2条回答 默认 最新

  • threenewbee 2018-12-03 15:43
    关注

    如果问题得到解决,请点我回答左上角的采纳和向上的箭头,谢谢

    #include "stdlib.h"
    #include "string.h"
    
    #define MAX 20
    
    void combinations(char * prefix, int start, int n, int remain)
    {
        if (remain == 0)
        {
            printf("%s\n", prefix);
            return;
        }
        for (int i = start; i <= n - remain + 1; i++)
        {
            char temp[5];
            sprintf(temp, "%d ", i);
            if (i != start)
                memset(prefix, ' ', sizeof(char) * strlen(prefix));
            char * acc = (char *)malloc(MAX * sizeof(char));
            acc[0] = '\0';
            strcat(acc, prefix);
            strcat(acc, temp);
            combinations(acc, i + 1, n, remain - 1);
        }
    }
    int _tmain(int argc, _TCHAR* argv[])
    {
        int n,r,i=1;
        printf("ENTER N R:");
        scanf_s("%d%d",&n,&r);
        printf("combinations:\n");
        char seed[MAX];
        seed[0] = '\0';
        combinations(seed, 1, n, r);
        return 0;
    }
    

    vs2013+,需要把sprint、strcat、strlen等换成带 _s的版本,这个你自己去做了。

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献