螺旋矩阵
倒填矩阵
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 00Input:
输入含有一些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;
}
这篇博客主要介绍了矩阵画图的概念,并通过一个具体的例子展示了如何处理倒置矩阵问题。在题目描述中,强调了输入和输出的格式要求,并给出了错误示例及正确答案。
&spm=1001.2101.3001.5002&articleId=7708380&d=1&t=3&u=7b83850e20244ad58ba0f15ed5ff11e7)
1万+

被折叠的 条评论
为什么被折叠?



