北杳537 2021-10-24 10:53 采纳率: 100%
浏览 88
已结题

循环输入一个数,输出字母金字塔,直到输入q停止

#include<stdio.h>
int main()
{
int i,j,k;
char ch,n;

while(n!='q')
{scanf("%d",&n);

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

}为什么一按q就无限循环了()求求大佬们了(>﹏<)

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-10-24 11:19
    关注

    这么改下试试:

    #include<stdio.h>
    int main()
    {
        int i,j,k;
        char ch,n;
    
        while(scanf("%d",&n)==1 && (ch=getchar())!='q')//(n!='q')
        {
            //scanf("%d",&n);
    
            for(i=0;i<n;i++)
            {
                for(j=1;j<n-i;j++)
                {
                    printf(" ");
                }
                for(ch='A';ch<'A'+i+1;ch++)
                {
                    printf("%c",ch);
                }
                for(ch='A'+i-1;ch>'A'-1;ch--)
                {
                    printf("%c",ch);
                }
                printf("\n");
            }
        }
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月1日
  • 已采纳回答 10月24日
  • 修改了问题 10月24日
  • 创建了问题 10月24日

悬赏问题

  • ¥35 引用csv数据文件(4列1800行),通过高斯-赛德尔法拟合曲线,在选取(每五十点取1点)数据,求该数据点的曲率中心。
  • ¥20 程序只发送0X01,串口助手显示不正确,配置看了没有问题115200-8-1-no,如何解决?
  • ¥15 Google speech command 数据集获取
  • ¥15 vue3+element-plus页面崩溃
  • ¥15 像这种代码要怎么跑起来?
  • ¥15 怎么改成循环输入删除(语言-c语言)
  • ¥15 安卓C读取/dev/fastpipe屏幕像素数据
  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误