两只眼睛瞪死


私信TA

用户名:ChinEse1

访问量:4613

签 名:

等  级
排  名 12327
经  验 978
参赛次数 1
文章发表 6
年  龄 0
在职情况 学生
学  校 东莞理工学院
专  业

  自我简介:

TA的其他文章

解题思路:

    这道题的难点在于数据的输入,只要控制好数据的输入,输出就变得很简单了。可以发现,行与列的每个相邻数据之差是有规律的,要利用这个规律来输入数据。


注意事项:

    如何输入数据,每列首个数的确定。

参考代码:

#include<stdio.h>

int main()

{

    int i,j,n,odigit,odigit1,a[500][500];

    while(scanf("%d",&n)!=EOF)

    {

         odigit=1; //设置每列第一个数字增加的量

        for(i=0;i<n;i++)

        {

            odigit1=i+2;//设置每行各元素之间的增量

            for(j=0;j<(n-i);j++)

            {

                if(j==0 && i==0) a[i][j]=1; //设置第一个数是1

                else if(j==0)

                {

                    a[i][j]=a[i-1][j]+odigit; //确定每一列第一个数字

                    odigit++;

                }

                else

                {

                    a[i][j]=a[i][j-1]+odigit1; //确定每一行的下一个元素

                    odigit1++;

                }

            }

        }


        for(i=0;i<n;i++)

        {

            for(j=0;j<(n-i);j++)

            {

                printf("%d",a[i][j]);

                if(j!=(n-i-1)) printf(" ");//控制空格的输出

            }

            printf("\n");

        }

        printf("\n");

    }

    return 0;

}


 

0.0分

2 人评分

  评论区

  • «
  • »