唐僧爱吃唐僧肉 2017-04-08 00:56 采纳率: 16.7%
浏览 1592
已采纳

求大神帮忙,高手赐教,小白感激不尽

题目:

绘制金字塔(4分)
题目内容:
要求用户从键盘输入一个大写字母,使用嵌套循环产生像下面这样的金字塔图案:
    A
   ABA
  ABCBA
 ABCDCBA

程序运行结果示例1:
Please input a capital:
D↙
____A
ABA
__ABCBA
_ABCDCBA
程序运行结果示例2:
Please input a capital:
F↙
_
__A
_____ABA
____ABCBA
___ABCDCBA
__ABCDEDCBA
ABCDEFEDCBA
(说明:上面运行结果示例中,每行字母前面的下划线"
"代表屏幕上实际输出的是空格,最后一行前面有一个空格,倒数第二行有两个空格,以此类推。)

输入提示信息:"Please input a capital:\n"
输入格式: "%c"
输出格式:"%c"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
小白的程序:
#include
int main()
{
char m,n;
n='A';
int i,k;
printf("Please input a capital:\n");
scanf("%c",&m);
for(i=1;i<=(int)m-(int)n;i++)
{
for(k=(int)n;k<=(int)m-(int)n-i+1;k++)
{
printf(" ");
}
for(k=(int)n;k<=(int)n+i-1;k++)
{
printf("%c",k);
}
for(k=(int)n+i-2;k<=(int)n;k--)
{
printf("%c",k);
}
for(k=(int)n;k<=(int)m-(int)n-i+1;k++)
{
printf(" ");
}
printf("\n");
}
}
为什么运行的时候乱码了?
求大神赐教。

  • 写回答

10条回答 默认 最新

  • 星e雨 2017-04-08 05:40
    关注
    char m, n;
    n = 'A';   
    int i, k;
    printf("Please input a capital:\n");
    scanf_s("%c", &m);   
    for (i = 0; i <= (int)m - (int)n; i++)
    {
        for (k = i; k <= (int)m - (int)n; k++)
        {
            printf(" ");
        }
        for (k = 0; k < 2 * i + 1;k++)
        {
            if ((int)(n + k) <= (int)(n+i))
            {
                printf("%c", n + k);
            }
            else
            {
                printf("%c", n+2*i-k);
            }
    
        }
        for (k = i; k <= (int)m - (int)n; k++)
        {
            printf(" ");
        }
        printf("\n");
    }
    
    该程序是我修改的,测试过了,
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题