hdoj2565 放大的X
来源:互联网 发布:淘宝手机版店招尺寸 编辑:程序博客网 时间:2024/05/17 08:24
放大的X
Problem Description
请你编程画一个放大的’X’。
如3*3的’X’应如下所示:
如3*3的’X’应如下所示:
X X XX X5*5的’X’如下所示:X X X X X X XX X
Input
输入数据第一行是一个整数T,表示有T组测试数据;
接下来有T行,每行有一个正奇数n(3 <= n <= 79),表示放大的规格。
接下来有T行,每行有一个正奇数n(3 <= n <= 79),表示放大的规格。
Output
对于每一个n打印一个规格为n * n放大的’X’;每组输出后面空一行。
Sample Input
235
Sample Output
X X XX XX X X X X X XX X这道题主要考察输出格式:用二维数组a[82][82]记录一个正方形的矩阵,我们需要把每一行最后一个x后面的空格消除掉。因此,可以把放大的X看成上下两个部分,上部分(包括中间)的规律是:第i行第一个x都是a[i][i],最后一个x都是a[i][n+1-i]。用两个for循环,i控制行数,j控制列数,如果i+j>n+1就break,跳出循环就可实现。下面的规律是:第i行最后一个x都是a[i][i],所以,控制每一行输入到j<=i时,就break,跳出循环即可。代码如下:#include<stdio.h>#include<string.h>char a[82][82];int main(){int i,j,n,t;scanf("%d",&t);while(t--) {scanf("%d",&n); memset(a,0,sizeof(a)); for(i=1;i<=n;i++) for(j=1;j<=n;j++) {if(i==j||i==(n+1-j)) a[i][j]='X'; else a[i][j]=' '; } for(i=1;i<=n/2;i++) {for(j=1;j<=n;j++) {if(i+j>n+1) break; printf("%c",a[i][j]); } printf("\n"); } for(;i<=n;i++) {for(j=1;j<=i;j++) { printf("%c",a[i][j]); } printf("\n"); } printf("\n"); }return 0;}
0 0
- hdoj2565 放大的X
- hdoj2565 放大的X ;有关for循环的
- 放大的X
- 1035:放大的X
- 1035:放大的X
- SDJZU-放大的X
- SDJZ 放大的X
- 放大的X 2565
- 1035:放大的X
- 放大的X
- 模拟:放大的X
- 2565 放大的X
- HDU2565-放大的X
- hdu 2565 放大的X
- SDJZUOJ 1035 放大的X
- hdu 2565 放大的X
- HDU 2565 放大的X
- HD 2565 放大的X
- Lotus Notes/Domino 删除用户
- jQuery_review之表单中的隔行变色以及关键字高亮显示
- 2014-7-26 sql 学习笔记——sql 行专列
- 404、500、502等HTTP状态码介绍
- 函数配接器-摘自《C++沉思录》Andrew Koenig
- hdoj2565 放大的X
- 1-2(补充)新手必备Demo的介绍(初稿).md
- UI 线程和用户线程
- HDU1003
- 常见错误
- hdu 2108 Shape of HDU(计算几何:凸包)
- 驱动里执行应用层代码之KeUserModeCallBack,支持64位win7(包括WOW64)
- STL是一个新概念
- (int&)a