杭电acm1256
http://acm.hdu.edu.cn/showproblem.php?pid=1256
按题目要求用所给的字母画出一个“8”,先求上宽,再求下宽,再求横宽,分为5部分来输出
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include<stdio.h> int main() { int t,n,i,h1,w,h2,j; char s,a[10]; scanf("%d",&t); gets(a); while(t--) { scanf("%c%d",&s,&n); gets(a); h1=(n-3)/2; h2=n-3-h1; w=1+n/6; for(i=0;i<w;i++) printf(" "); for(i=0;i<h2;i++) printf("%c",s); printf("\n"); for(i=0;i<h1;i++) { for(j=0;j<w;j++) printf("%c",s); for(j=0;j<h2;j++) printf(" "); for(j=0;j<w;j++) printf("%c",s); printf("\n"); } for(i=0;i<w;i++) printf(" "); for(i=0;i<h2;i++) printf("%c",s); printf("\n"); for(i=0;i<h2;i++) { for(j=0;j<w;j++) printf("%c",s); for(j=0;j<h2;j++) printf(" "); for(j=0;j<w;j++) printf("%c",s); printf("\n"); } for(i=0;i<w;i++) printf(" "); for(i=0;i<h2;i++) printf("%c",s); printf("\n"); if(t)printf("\n"); } return 0; }