HDU_1256 画8

16 篇文章 0 订阅
4 篇文章 0 订阅

画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

 

#include<stdio.h>
int main()
{
    char s;
    int t,n;
    int i,j,k,l,m;
    int a,b,c;
    scanf("%d",&t);
    getchar();
    while(t--)
    {
       scanf("%c %d",&s,&n);
       getchar();   //因为输入的有字符,所以要注意加上 getchar();
       i=n/6+1;//线粗
       j=(n-3)/2;//上孔
       k=n-3-j;//中间长度
       l=k+2*i;//横最大
       for(a=1;a<=n;a++)
       {
          for(b=1;b<=l;b++)
          {
             if(a==1||a==n||a==j+2)
             {
                if(b<=i)
                printf(" ");
                else if(b>i&&b<=(l-i))
                printf("%c",s);
                if(b==l-i)
                break;
             }
             else
             {
                if(b>i&&b<=(l-i))
                printf(" ");
                else
                printf("%c",s);
             }
          }
          printf("\n");
      }
      if(t!=0)     printf("\n");
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值