七七-qiqi 2021-11-02 18:05 采纳率: 100%
浏览 25
已结题

为什么打出来不是三角形啊?空格哪里打错了呢

#include<stdio.h>
int main() {
int n, i, j,k;
scanf("%d",&n);
for (i = 1; i <= n; i++) {
for (k = 1; k <= n - i; k++) printf(" ");
for (j = 1; j <= i; j++) {
if(j==10)printf("%2d", 0);
else printf("%2d",j);
}
for (j = i-1; j >= 1; j--) {
printf("%2d", j);
}
if(i!=n)printf("\n");
}

img

  • 写回答

1条回答 默认 最新

  • CSDN专家-sinJack 2021-11-02 18:09
    关注

    空格应该占两位,所以需要两个空格。

    #include<stdio.h>
    int main() {
    int n, i, j,k;
    scanf("%d",&n);
    for (i = 1; i <= n; i++) {
    for (k = 1; k <= n - i; k++) printf("  ");
    for (j = 1; j <= i; j++) {
    if(j==10)printf("%2d", 0);
    else printf("%2d",j);
    }
    for (j = i-1; j >= 1; j--) {
    printf("%2d", j);
    }
    if(i!=n)printf("\n");
    }
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 创建了问题 11月2日