第二次输出菱形输出了多次换行
#include <stdio.h>int main() {
int n;
int a,b;
int t;
char ch;
//scanf("%d",&t);
while((scanf("%c %d",&ch,&n))!=EOF) {
for(int i=1; i<=n; i++) {
for(int j=1; j<=n-i; j++) {
printf(" ");
}
for(int j=1; j<=2*i-1; j++) {
printf("%c",ch);
}
printf("\n");
}
for(int i=n-1; i>=1; i--) {
for(int j=1; j<=n-i; j++) {
printf(" ");
}
for(int j=2*i-1; j>=1; j--) {
printf("%c",ch);
}
printf("\n");
}
}
return 0;
} 在 while 循环的最后添加这一条语句:
fflush(stdin) ; 本帖最后由 jhq999 于 2021-11-14 16:48 编辑
while((scanf("%c %d",&ch,&n))!=EOF) {
getchar();////////////////////把缓冲区的'\n'取出
for(int i=1; i<=n; i++) {
for(int j=1; j<=n-i; j++) {
printf(" ");
}
for(int j=1; j<=2*i-1; j++) {
printf("%c",ch);
}
printf("\n");
}
for(int i=n-1; i>=1; i--) {
for(int j=1; j<=n-i; j++) {
printf(" ");
}
for(int j=2*i-1; j>=1; j--) {
printf("%c",ch);
}
printf("\n");
}
}
页:
[1]