【c语言】输出n行按如下规律排列的数

【c语言】输出n行按如下规律排列的数_第1张图片 

题述:输出n行按如下规律排列的数

输入: 4(应该指的是n)

输出:

 【c语言】输出n行按如下规律排列的数_第2张图片

思路:

利用下标的规律求解,考察数组下标的灵活应用,我们可以看出数从1开始是斜着往下放的,那么我们如何利用两层for循环求解这道题?假设是a数组存储这些数

对应下标规律

【c语言】输出n行按如下规律排列的数_第3张图片

#include

#define row 100
#define col 100
int main()
{
	int n = 0, cnt = 0;
	scanf("%d", &n);
	int a[row][col];//a数组用来存放数

	//从1开始放入数组中,对应的规律如代码所示
	for (int i = 0; i < n; ++i)
	{
		for (int j = 0; j < n - i; ++j)
		{
			a[i + j][j] = ++cnt;
		}
	}

	//打印输出,输出三角
	for (int i = 0; i < n; ++i)
	{
		for (int j = 0; j <= i; ++j)
		{
			printf("%d ", a[i][j]);
		}
		printf("\n");
	}

	return 0;
}

运行结果:

【c语言】输出n行按如下规律排列的数_第4张图片

 

你可能感兴趣的:(c语言经典代码题,数据结构)