编写算法:打印具有下面规律的图形。

编写算法:打印具有下面规律的图形。

1
5 2
8 6 3
10 9 7 4

分析:

外层循环:层号i,1–>n
内层循环:数组列号j,1–>(n+1-i)
i层第 j个数据对应的数组元素是a[i-1+j][j]

完整代码:

#include <iostream>
using namespace std;
/*
伪代码
k =1;
for(i=1;i<=n;i=i+1)
  for( j=1;j<=n+1-i;j=j+1)
   {
	   	a[i-1+j][j]=k;
	    k=k+1;
	}
for(i=1;i<=n;i=i+1)
  {
  	print( “换行符”); 
   	for( j=1;j<=i;j=j+1)
   		print(a[i][j]); 
  }
 */
void cyclePrint(int n){
	int a[100][100];//存储打印的规则图形的矩阵,下三角矩阵
	int k = 1;//打印的数据,1-n

	//赋值
	for (int i = 1; i <= n; ++i)
	{
		for (int j = 1; j <= n+1-i; ++j)
		{
			a[i-1+j][j] = k;
			k++;
		}
	}
	//打印
	for (int i = 1; i <= n; ++i)
	{
		cout<<endl;
		for (int j = 1; j <= i; ++j)
		{
			cout<<a[i][j]<<" ";
		}
	}
}

int main(int argc, char const *argv[])
{
	cyclePrint(4);
	return 0;
}


猜你喜欢

转载自blog.csdn.net/weixin_42678511/article/details/106699170
今日推荐