李怀瑞


私信TA

用户名:2713508392

访问量:3042

签 名:

等  级
排  名 2427
经  验 2315
参赛次数 3
文章发表 9
年  龄 0
在职情况 学生
学  校 lzy
专  业

  自我简介:

分析:QQ截图20220307170805(1).png


解题思路:先算出第一列的数,再通过第一列的数依次算出后面的数,设间距为k,a[i][j] = a[i][j - 1] + k;

注意事项:换行后的k值初始化为前一行同列的k值加一,引入变量b

参考代码:

#include<stdio.h>
int main() {
	int n, k, b = 2, temp = 1;//k为间距 
	int a[100][100];
	scanf("%d", &n);
	for (int i = 0; i < n; i++) {    //第一列的数字 
		temp += i;
		a[i][0] = temp;
	}
	for (int i = 0; i < n; i++) {    
		k = b;                          //k值初始化为b 
		for (int j = 1 ; j <= n; j++) {
			a[i][j] = a[i][j - 1] + k;    //后一个数等于前一个数加间距k 
			k++;
		}
		b++;                         
	}
	int m=n;
	for (int i = 0; i < m; i++) {        //输出 
		for (int j = 0; j < n; j++) {     
			printf("%d ", a[i][j]);
		}
		n--;                  //输出格式 
		printf("\n");
	}

	return 0;
}


 

0.0分

3 人评分

  评论区

这不争个优解
2022-03-08 08:53:38
  • «
  • 1
  • »