画8
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 2 Accepted Submission(s) : 2
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
浙江工业大学第四届大学生程序设计竞赛
#include<stdio.h> int F(int n) { if(n==7) return 5; else return 5+(n-7)/2; } int main() { int i,j,n,num,k,x1,x2,l,q=5,p,u1,u2; char str; scanf("%d",&n); while(n--) { p=2; scanf("\n%c %d",&str,&num); p=p+(num-6)/6; q=F(num); j=num-q; k=(num-3)/2; if((num-3)%2==0) { x1=k;x2=k; } else if((num-3)%2!=0) { x1=k;x2=k+1; } if(num!=6&&num!=5) { for(u1=0;u1<p;u1++) printf(" "); for(i=0;i<j;i++) printf("%c",str); puts(""); for(i=0;i<x1;i++) { for(u1=0;u1<p;u1++) printf("%c",str,str); for(l=0;l<j;l++) printf(" "); for(u2=0;u2<p;u2++) printf("%c",str,str); puts(""); } for(u1=0;u1<p;u1++) printf(" "); for(i=0;i<j;i++) printf("%c",str); puts("");; for(i=0;i<x2;i++) { for(u1=0;u1<p;u1++) printf("%c",str,str); for(l=0;l<j;l++) printf(" "); for(u2=0;u2<p;u2++) printf("%c",str,str); puts(""); } for(u1=0;u1<p;u1++) printf(" "); for(i=0;i<j;i++) printf("%c",str); puts(""); } else if(num==6) { printf(" "); for(i=0;i<2;i++) printf("%c",str); puts(""); for(i=0;i<1;i++) { printf("%c%c",str,str); for(l=0;l<2;l++) printf(" "); printf("%c%c",str,str); puts(""); } printf(" "); for(i=0;i<2;i++) printf("%c",str); puts("");; for(i=0;i<2;i++) { printf("%c%c",str,str); for(l=0;l<2;l++) printf(" "); printf("%c%c",str,str); puts(""); } printf(" "); for(i=0;i<2;i++) printf("%c",str); puts(""); } else if(num==5) { printf(" "); for(i=0;i<1;i++) printf("%c",str); puts(""); for(i=0;i<1;i++) { printf("%c",str,str); for(l=0;l<1;l++) printf(" "); printf("%c",str,str); puts(""); } printf(" "); for(i=0;i<1;i++) printf("%c",str); puts("");; for(i=0;i<1;i++) { printf("%c",str,str); for(l=0;l<1;l++) printf(" "); printf("%c",str,str); puts(""); } printf(" "); for(i=0;i<1;i++) printf("%c",str); puts(""); } if(n) puts(""); } return 0; }