zoukankan      html  css  js  c++  java
  • 放大的X 【杭电-2655】 附题

    /*
    放大的X
    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 8866    Accepted Submission(s): 2678


    Problem Description
    请你编程画一个放大的’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 Output
    X X
     X
    X X

    X   X
     X X
      X
     X X
    X   X


    */
    #include<stdio.h>
    //#include<string.h>
    int main(){
     int n,m,i,j,k;
     int T;
     char str[85][85]={0};
     scanf("%d",&T);
     //memset(str,0,sizeof(str));
      while(T--){
          scanf("%d",&n);
          for(i=1;i<=n;i++){                                     //打一个n*n的表格,然后按要求输出
              for(j=1;j<=n;j++){
            if(j==i || j+i==n+1)
               str[i][j]='X';
            else
               str[i][j]=' ';
             }
          }
          for(i=1;i<=n/2;i++){                                 //以中间的x为中心的大x的上半部分
           for(j=1;i<=n;j++){
            if(i+j>n+1)
             break;
             printf("%c",str[i][j]);
            }printf(" ");
          }
          for(;i<=n;i++){                                       //此处i的初值为n/2   +1
           for(j=1;j<=i;j++){
            printf("%c",str[i][j]);
           }
           printf(" ");
          }
          printf(" ");                                      //注意题目最后要求:每组输出后面空一行
      }
      //while(1);
      return 0;
    }

  • 相关阅读:
    高阶LOOP
    C 语言常用方法技巧
    Linux内存压力测试memtester工具
    Matrix computations in C
    代码整洁之道语句摘录
    Ubuntu Mysql 常用指令
    linux 汇编 函数调用
    技术有待改进,知识需要更新
    原来那些网络协议都是这么回事啊!!!
    谢谢老乡们的关注……
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4004316.html
Copyright © 2011-2022 走看看