半缘修道半缘君丶 2016-03-26 11:34 采纳率: 62.5%
浏览 1245
已采纳

初学者的c语言问题,如图

图片说明

 #include <stdio.h>
int main()
{
    int i,j,k,ch,n;
    printf("请输入行数:");
    scanf("%d",&n);
    for(i=1;i<n+1;i++)
    {
        for(k=1;k<n+1-i;k++)
        {
            printf(" ");
        }
        for(j=1,ch='A';j<=i;j++,ch++)
        {
            printf("%c",ch);
        }
        ch=ch-2; //关键
        for(j=1;j<i;j++,ch--)
        {
            printf("%c",ch);
        }
        printf("\n");
    }

    for(i=1;i<n;i++)
    {
        for(k=1;k<=i;k++)
        {
            printf(" ");
        }
        for(j=n,ch='A';j>i;j--,ch++)
        {
            printf("%c",ch);
        }
        ch=ch-2;
        for(j=n;j>i;j--,ch--)
        {
            printf("%c",ch);
        }
        printf("\n");
    }

}

为什么会出现右边的@啊

  • 写回答

2条回答

  • 小灸舞 2016-03-26 11:58
    关注

    下半部分有个地方多循环了一次,打印一行的后半部分应该比前半部分少循环一次(改的地方我标注在代码里了)

    #include <stdio.h>
    int main()
    {
        int i,j,k,ch,n;
        printf("请输入行数:");
        scanf("%d",&n);
        for(i=1;i<n+1;i++)
        {
            for(k=1;k<n+1-i;k++)
            {
                printf(" ");
            }
            for(j=1,ch='A';j<=i;j++,ch++)
            {
                printf("%c",ch);
            }
            ch=ch-2; //关键
            for(j=1;j<i;j++,ch--)
            {
                printf("%c",ch);
            }
            printf("\n");
        }
    
        for(i=1;i<n;i++)
        {
            for(k=1;k<=i;k++)
            {
                printf(" ");
            }
            for(j=n,ch='A';j>i;j--,ch++)
            {
                printf("%c",ch);
            }
            ch=ch-2;
            for(j=n;j>i;j--,ch--)//应该改成for(j=n;j-1>i;j--,ch--)
            {
                printf("%c",ch);
            }
            printf("\n");
        }
    
    } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大