解题思路:

1.将每行底一个数存于shuzu函数中,方便调用。

2.找到每行相邻数之差 t ,找到每行加几次 t。
注意事项:

在row函数中每输出一行,记得换行!!!

参考代码:

#include <stdio.h>
int shuzu(int i); 
void row(int i,int n);
int main(int argc, char *argv[]) {
    int n,i;
    scanf("%d",&n);
    for(i=1;i<=n;i++)   //i为第几行,n为总行数 
    {
     row(i,n);
    }
    return 0;
}

int shuzu(int i)        //将第一列的数存于数组中 
{
   int j;
   int a[101]={0,1};
   for(j=2;j<101;j++)     
   {
      a[j]=a[j-1]+(j-1); 
   }
   return a[i];        //调用之后返回的数,即为每行第一个数 
}

void row(int i,int n)
{
   int j;
   int flag;
   int t;
   t=i+1;             //i+1为每行第一个数到第二个数所加 
   flag=shuzu(i);     //调用函数,确定每行第一个数 
   printf("%d ",flag);
   for(j=n-i;j>=1;j--)  //n-i为每行所加t的次数 
   {
      flag=flag+t;
      t++;            //t为所加的数 
      printf("%d ",flag); 
   }
   printf("\n");       //每行输出后换行 
}


点赞(1)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论