首页 > 用户发贴区 > 编程问题提问区 > 用C语言如何用递归实现这个矩阵的打印
2008
09-17

用C语言如何用递归实现这个矩阵的打印

用C语言如何用递归实现这个矩阵的打印,参数为N,比如N=5,打印
1 2 3 4 5
2 2 3 4 5
3 3 3 4 5
4 4 4 4 5
5 5 5 5 5
希望哪位高手能将代码写一下


用C语言如何用递归实现这个矩阵的打印》有 7 条评论

  1. szyangzhen 说:

    没人知道吗,我想了好久没有结果

  2. cghyf 说:

    一个循环而已,定义一个i,count=1,i从1加到5,if(i<=count)printf(“%d”,count);else printf(“%d”,i);if(i==5){count++;换行},下一次循环。

     

  3. cghyf 说:

    #include<stdio.h>
    main()
    {
     int i,count=1;
     for(i=1;i<=5;i++)
     {
        if(i<=count)
     printf(” %d”,count);
        else
     printf(” %d”,i);
        if(i==5)
           count++\n;
     }
    }

  4. cghyf 说:

    加个for(e=1;e<=5;e++)在那个for 前

  5. szyangzhen 说:

    谢谢各位回答,但是要用递归实现,用FOR我也会,麻烦各位再帮下忙

  6. bowen 说:

    1 2 3 4 5
    2
    2 4 3 5
    3 3 3 4 5
    4 4 4 4 5
    5 5 5 5 5

    定义一个二维数组指针,(ptr*)[5],第一次,指ptr[0][0],输出一行一列;

    第二次指Ptr[1][1],第三次指ptr[2][2],…最后指ptr[5][5]。分别输出一行一列。

    具体实施过程自己想。呵呵。

     

  7. lin_3 说:

    将矩阵看作是:

    1 2 3 4 5
    2
    2 3 4 5
    3 3 3 4 5
    4 4 4 4 5
    5 5 5 5 5
     
    这样每一次递归的步骤都是一个反L,这很容易实现。具体的编程代码就靠你自己思考了。

留下一个回复