空心三角形
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 26851 Accepted Submission(s): 7397
X 2 A 7 @
X XXX A A A A A A A A A A A AAAAAAAAAAAAA注意:这道题格式很重要,第二个及第二个数据输入后是空一行输出结果的!
还需注意的是getchar();不可少,不然程序会把输入n后键入的“回车键”当成下一个“str”!(被这个地方给拌了好长时间。。。)
源代码一:
#include <stdio.h> #include <string.h> #include <stdlib.h> int main() { int i,j,n,t,temp=0; char c; while(scanf("%c",&c)!=EOF && c!='@') { scanf("%d",&n); getchar(); if(temp) printf("\n"); for(i=0;i<n-1;i++) { for(j=0;j<n-1-i;j++) printf(" "); if(i==0) printf("%c\n",c); else { printf("%c",c); for(t=0;t<2*i-1;t++) printf(" "); printf("%c\n",c); } } for(i=0;i<2*n-1;i++) printf("%c",c); printf("\n"); temp++; } system("pause"); return 0; }
源代码二:
#include <stdio.h> #include <stdlib.h> int main() { char str; int n,temp=0; int i,j,k; while(scanf("%c ",&str),str!='@') { scanf("%d",&n); getchar(); if(temp) printf("\n"); for(i=0;i<n-1;i++) {for(j=0;j<(n+i);j++) { if(j==(n-i-1)||j==(n+i-1)) printf("%c",str); else printf(" "); } printf("\n");} for(i=0;i<2*n-1;i++) printf("%c",str); printf("\n"); temp++; } system("pause"); return 0; }