矩阵系列(矩阵画图)

这篇博客主要介绍了矩阵画图的概念,并通过一个具体的例子展示了如何处理倒置矩阵问题。在题目描述中,强调了输入和输出的格式要求,并给出了错误示例及正确答案。


螺旋矩阵


倒置矩阵

倒填矩阵 
Time Limit:1000MS  Memory Limit:32768K

Description:

给出 N*N 的矩阵,从0开始依序倒填数,不足二位数的前面补0。例如N=5时,其矩阵为: 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Input:

输入含有一些N(N<=10)。

Output:

对每个N,输出所描述的矩阵。每个元素之间无空格,元素宽度为5。矩阵之间空一行。

Sample Input:

5

Sample Output:

   24   23   22   21   20
   19   18   17   16   15
   14   13   12   11   10
   09   08   07   06   05
   04   03   02   01   00

//倒置矩阵
#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
	int n;
	while(cin>>n&&n)
	{
		for(int i=n*n-1;i>0;i--)
		{
			if(i<=9)
			{
				if(i%n==0)
					{cout<<"  "<<"0"<<i;cout<<endl;}
				else
					cout<<"   "<<"0"<<i;
			}
			else
				{
					if(i%n==0)
						{cout<<"  "<<i;cout<<endl;}
					else
						cout<<"   "<<i;
				}
		}
		cout<<"  "<<"00"<<endl;
			
	}
	return 0;
}

当然   这段代码是错误的  一直PE  原来每个元素之间无空格 


给出正确(Accepted)代码


#include <iostream>
using namespace std;

int main()
{
	static const int FIVE=5;    //定义静态常量
	int n;
	
	//循环体
	while(cin>>n&&n)
	{
		int squre=n*n-1;     //定义矩阵一共到这么多   因为有00
		//嵌套循环
		for (int i=0;i<n;i++)			
		{
			for (int j=0;j<n;j++)
			{				
				if(squre<10)				//if语句判断是否小于10
					cout<<"   "<<0<<squre;   //(注意:这里有空格输出哦,合题意不符??但是能ac)
				else
				{
					cout.width(FIVE);     //元素宽度为5
					cout<<squre;		//输出
				}
				squre--;				//累减  进入下一步循环
			}
			cout<<endl;
		}
		cout<<endl;
	}
	return 0;
}




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值