X 2 A 7 @
X XXX A A A A A A A A A A A AAAAAAAAAAAAA
先贴ac过的:
解题思路很高端,比较牛的大神。反正我是想不出来。
#include<stdio.h> int main(){ int n,line=1; char ch; while(scanf("%c",&ch)&&ch!='@'){ scanf("%d",&n); if(line==0) printf("\n"); line=0; int i,j; for(i=0;i<n;++i){ for(j=0;j<2*n-1;++j){ if((j==(2*n-1)/2+i)||(j==(2*n-1)/2-i)||(i==n-1)) printf("%c",ch); else if(j<(2*n-1)/2+i) printf(" "); } printf("\n"); } getchar(); } return 0; }
这个是我自己的,反正吧是没有过。。。答案什么的都对。。可能是格式上?不知道诶。。。留着以后看吧~~
#include<stdio.h> int main(){ int n=0; char x; int line=1; int m; while(scanf("%c",&x)&&x!='@'){ scanf("%d",&n); getchar(); if(line==0) printf("\n"); line=0; m=n; int j=1,i=0; while(m--){ if(m==n-1){ for(i=m;i>0;i--){ printf(" "); } printf("%c\n",x); } if(m>0&&m<n-1){ for(i=m;i>0;i--){ printf(" "); } printf("%c",x); for(i=0;i<j;i++){ printf(" "); } printf("%c\n",x); j=j+2; } if(m==0){ for(i=0,j=2*n-1;i<j;i++){ printf("%c",x); } printf("\n"); } } } return 0; }
后来经学长指正是没有考虑特殊情况1~改了之后就交上了~~感觉萌萌哒~~~
#include<stdio.h> int main(){ int n=0; char x; int line=1; int m; while(scanf("%c",&x)&&x!='@'){ scanf("%d",&n); getchar(); if(line==0) printf("\n"); line=0; m=n; <span style="color:#ff0000;">if(n==1){ printf("%c\n",x); continue; } </span> int j=1,i=0; while(m--){ if(m==n-1){ for(i=m;i>0;i--){ printf(" "); } printf("%c\n",x); } if(m>0&&m<n-1){ for(i=m;i>0;i--){ printf(" "); } printf("%c",x); for(i=0;i<j;i++){ printf(" "); } printf("%c\n",x); j=j+2; } if(m==0){ for(i=0,j=2*n-1;i<j;i++){ printf("%c",x); } printf("\n"); } } } return 0; }