空心三角形
2015-06-04 13:55
211 查看
空心三角形
Time Limit1s
Memory Limit
32768KB
Judge Program
Standard
Ratio(Solve/Submit)
18.18%(2/11)
Description:
用给出的字符画出空心三角形。
Input:
第一行输入整数t,表示有t组测试数据,每组测试数据占一行,每行包含一个字符和一个整数n
Output:
三角形的中间为空。显然行末没有多余的空格。
Sample Input:
2X 3A 7
Sample Output:
X X XXXXXX A A A A A A A A A A AAAAAAAAAAAAAA
遇到的一些问题:
1.代码如下
#include<stdio.h> int main() { int i,j,k,n,s; char ch; scanf("%d",&n); //输入有几组数据。 for(i = 1;i <= n+1;i ++) { printf("n = %d,i == %d\n",n,i); //scanf("%c %d",&ch,&s); scanf("%c",&ch); //输入打印三角形要用的字符 scanf("%d",&s); //输入三角形的规模 for(j = 1;j <= s;j++) { if(j == s) { for(k = 1;k<= s*2-1;k++) { printf("%c",ch); } //printf("\n"); //break; } else if(j == 1) { for(k = 1;k <= s+(j-1);k ++) { if(k == s) printf("%c",ch); else printf(" "); } } else { for(k = 1;k<= s*2-1;k++) { if(k == s-(j-1)||k == s+(j-1)) printf("%c",ch); else printf(" "); } } printf("\n"); } //i ++; //printf("\n"); } return 0; }运行结果:
2
n = 2,i == 1
x 3
n = 2,i == 2
x
x x
xxxxx
n = 2,i == 3
a 7
请按任意键继续. . .
2.
代码如下:
#include<stdio.h> int main() { int i = 0,j,k,n,s; char ch; scanf("%d",&n); //输入有几组数据。 while(scanf("%c %d",&ch,&s) != EOF) { i ++; //scanf("%c %d",&ch,&s); //scanf("%c",&ch); //输入打印三角形要用的字符 //scanf("%d",&s); //输入三角形的规模 for(j = 1;j <= s;j++) { if(j == s) { for(k = 1;k<= s*2-1;k++) { printf("%c",ch); } //printf("\n"); //break; } else if(j == 1) { for(k = 1;k <= s+(j-1);k ++) { if(k == s) printf("%c",ch); else printf(" "); } } else { for(k = 1;k<= s*2-1;k++) { if(k == s-(j-1)||k == s+(j-1)) printf("%c",ch); else printf(" "); } } printf("\n"); } //i ++; //printf("\n"); if(i == n) break; } return 0; }运行结果:
2
x 3
x
x x
xxxxx
Press any key to continue
三.代码如下:
#include<stdio.h> int main() { int i = 0,j,k,n,s; char ch; scanf("%d",&n); //输入有几组数据。 while(scanf("%c %d",&ch,&s) != EOF) { i ++; //scanf("%c %d",&ch,&s); scanf("%c",&ch); //输入打印三角形要用的字符 scanf("%d",&s); //输入三角形的规模 for(j = 1;j <= s;j++) { if(j == s) { for(k = 1;k<= s*2-1;k++) { printf("%c",ch); } //printf("\n"); //break; } else if(j == 1) { for(k = 1;k <= s+(j-1);k ++) { if(k == s) printf("%c",ch); else printf(" "); } } else { for(k = 1;k<= s*2-1;k++) { if(k == s-(j-1)||k == s+(j-1)) printf("%c",ch); else printf(" "); } } printf("\n"); } //i ++; //printf("\n"); if(i == n) break; } return 0; }运行结果:
2
x 3
x
x x
xxxxx
a 7
a
a a
a a
a a
a a
a a
aaaaaaaaaaaaa
Press any key to continue
相关文章推荐
- 架构设计之如何写架构设计说明书
- hduacm 3183 rmq
- 日常用到的单位
- [cernRoot]How to get tree name from root file
- Java做服务器开发语言
- SurfaceView的烦恼(一)-双缓存与清屏
- 能完全通过声音控制的,除了你家楼道里的灯泡,原来还有这么多产品
- Android中Toast的几种用法
- scala编程--scala基础特征
- Android Studio 的坑
- 5个强大的Java分布式缓存框架推荐
- selenium如何解决window安全验证问题
- TextView 的ScrollView滚动效果
- android TextView 带滚动条,和ScrollView 用法(暂时觉得ScrollView滑动速度比较快)
- Objective -C内存管理
- JQuery.Ajax之错误调试帮助信息
- Android的xml/assets/raw资源使用详解
- PHP数组操作汇总 php数组的使用技巧
- 使用visual studio 2013 快速搭建phonegap开发环境
- Duang ! P6 PPM 说好的R9呢?