题解 | #字符金字塔#
字符金字塔
http://www.nowcoder.com/practice/0fae60c3b5c64699b7c0f031c2187dde
#include<stdio.h>
int main(){
char a='1';
int n=5,n1=1;
scanf("%c %d",&a,&n);
while(n--){
int an=1+(n1-1)*2;//这里必须放在循环内,以免其成为常量
int i=0;
for(i=n;i>0;i--){//是n不是n-1,因为n--已经将n-1了
printf(" ");
}
int j=0,k=-1;
for(j=1;j<=k+2;j++){
if(j%2==1){
printf("%c",a);
}
else{
printf(" ");
}
if(j==k+2&&j<an){//当j++到k+2时,这时候的需要++,这时候是一次循环的结束,也是另一次的开始
k+=2;
}
}
n1++;
printf("\n");
}
return 0;
}
以上是通用方法,接下来的是普通的方法:
int main(){
char a=0;
scanf("%c",&a);
printf(" %c\n %c %c\n %c %c %c\n %c %c %c %c\n%c %c %c %c %c",a,a,a,a,a,a,a,a,a,a,a,a,a,a,a);
return 0;
}