• [HDU2565]解题报告


    每天一篇结题报告计划(1/∞)

    oi有句古话叫:打表是实力,暴力出奇迹。

    今天的解题报告是一道暴力打表题,嗯

    题目是HDU2565

    放大的X

    请你编程画一个放大的’X’。
    如3*3的’X’应如下所示:
    X X 
     X
    X X
    5*5的’X’如下所示:
    X   X
     X X
      X
     X X
    X   X


    input
    输入数据第一行是一个整数T,表示有T组测试数据;
    接下来有T行,每行有一个正奇数n(3 <= n <= 79),表示放大的规格。
    output
    对于每一个n打印一个规格为n * n放大的’X’;每组输出后面空一行。
    sample input
    2
    3
    5 
    sample out put 
    X X
     X
    X X
    
    X   X
     X X
      X
     X X
    X   X

    我们把x分成上,中,下三部分,
    上部分就是有两条的部分,中只有一个x,就是x的两条线的交点,下部分野是有两条线的部分
    这道题要考虑很多细节的处理,控制场宽,因为hdu是acm制,要注意每个样例之间有空行(第一次就wa在这里)
    也没什么好bb的,直接放代码了
    #include<iostream>
    using namespace std;
    int main()
    {
    	int text;
    	int N;
    	cin>>text;
    	while(text--)
    	{
    		cin>>N;
    		for(int i=N-2;i>=0;i-=2)
    	{
    		//cout<<" i: "<<i<<endl;
    		for(int j=1;j<(N-i)/2;j++)
    		cout<<" ";
    		cout<<"X";
    		for(int j=i;j>0;j--)
    		cout<<" ";
    		cout<<"X";
    		cout<<endl;
    	}//输出上半部分的“X”
    	for(int i=1;i<=N/2;i++)
    	cout<<" ";
    	cout<<"X"<<endl;//中间的‘X’
    	for(int i=0;i<=N-2;i+=2)//下半部分的‘x’
    	{
    		//cout<<i<<endl;
    		for(int j=1;j<(N-i)/2;j++)
    		cout<<" ";
    		cout<<"X";
    		for(int j=i;j>=0;j--)
    			cout<<" ";
    			cout<<"X";
    	}
            cout<<endl;//样例间的空行
    	}
    
    } 



  • 相关阅读:
    Go语言指针
    程序员 需要掌握得600个英语单词
    Go语言管道
    Go语言容器
    Go语言切片
    Go语言类型转换
    Go语言数组
    LR静态存储/动态存储/指针变量脚本说明
    MQ报错2009/2085解决方法
    Windows性能监控监视器(perfmon使用)
  • 原文地址:https://www.cnblogs.com/sherrlock/p/9525800.html
Copyright © 2020-2023  润新知