杭电 1256 画8 (简单的字符串处理)
2014-07-24 16:04
148 查看
画8
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4164 Accepted Submission(s): 1805
Problem Description
谁画8画的好,画的快,今后就发的快,学业发达,事业发达,祝大家发,发,发.
Input
输入的第一行为一个整数N,表示后面有N组数据.
每组数据中有一个字符和一个整数,字符表示画笔,整数(>=5)表示高度.
Output
画横线总是一个字符粗,竖线随着总高度每增长6而增加1个字符宽.当总高度从5增加到6时,其竖线宽度从1增长到2.下圈高度不小于上圈高度,但应尽量接近上圈高度,且下圈的内径呈正方形.
每画一个"8"应空一行,但最前和最后都无空行.
Sample Input
2 A 7 B 8
Sample Output
AA AA AA AA AA AA AA AA AA AA AA BBB BB BB BB BB BBB BB BB BB BB BB BB BBB
Source
浙江工业大学第四届大学生程序设计竞赛
Recommend
JGShining
思路:
观察图形,细审题,即可找到规律。
代码如下:
#include<stdio.h>
int main()
{
int n,m,i,j,p,q;
char c;
scanf("%d",&n);
while(n--)
{
getchar();//注意此处的吸收换行字符的 不能放在while外面 否则只有第一组数据能够正常输出
scanf("%c%d",&c,&m);
p=m/6+1;
q=m-3-(m-3)/2;
for(j=1;j<=m;j++)
{
if(j==1||j==m||j==(m+1)/2)
{
for(i=1;i<=p;i++)
printf(" ");
for(i=1;i<=q;i++)
printf("%c",c);
printf("\n");
}
else
{
for(i=1;i<=p;i++)
printf("%c",c);
for(i=1;i<=q;i++)
printf(" ");
for(i=1;i<=p;i++)
printf("%c",c);
printf("\n");
}
}
if(n>0)
printf("\n");
}
return 0;
}
相关文章推荐
- python字符串处理简单优化
- 字符串处理的一个简单题
- ADA程序实例(字符串类型及其简单处理)
- poj1035 简单的字符串处理
- SDUT 2364 || POJ 2934 Automatic Correction of Misspellings(简单字符串处理)
- Group by 自定义函数 连接字符串的简单处理
- 算法题之简单的字符串处理(一)
- HDOJ 1039 Easier Done Than Said? 简单的字符串处理
- ADA程序实例(字符串类型及其简单处理)
- USACO Section 1.3 Calf Flac - 简单的字符串处理
- scanf()与sscanf()学习,简单的字符串处理。
- 处理PHP字符串的10个简单方法
- hud 1860 简单字符串处理
- 处理PHP字符串的10个简单方法
- 处理PHP字符串的10个简单方法
- 字符串处理的一个简单题
- 处理PHP字符串的10个简单方法
- 字符串处理的一个简单Function 仅作记录
- POJ 3193 Cow Phrasebook(简单字符串的处理)
- NSString字符串处理简单总结