(c语言)为什么这段程序编译运行以后是乱码

原题让程序要求用户输入一个大写字母,使用嵌套循环产生像下面这样的金字塔图案:    A  Q... 原题让程序要求用户输入一个大写字母,使用嵌套循环产生像下面这样的金字塔图案:
    A 
   ABA 
  ABCBA 
 ABCDCDA 
ABCDEDCBA#include <stdio.h>
int main(void)
{char a,b;
int i,c,e;
b='A';
printf("请输入字母(大写)");
scanf("%c",&a);
c=(int)a-(int)b+1;
char d[2*c-1];
for(i=1;i<=c;i++)
{
do
{b=(int)a+i-1;
e=0;
d[c+e]=b;
d[c-e]=b;
e++;
b--;
}while (i>e);
printf("%s\n",d);
}
return 0;
}
展开
 我来答
匿名用户
2019-07-02
展开全部

#include<stdio.h>

int main() {

char c;

scanf("%c",&c);

char a,b,d;

for(a='A'; a<=c; a++) {

for(b=a;b<c;b++){//输出前置空格

printf(" ");

}

for(b='A';b<=a;b++){//输出A-a当前的值

printf("%c",b);

}

for(d=a-1;d>='A';d--){//输出一行a当前之后的大写字母

printf("%c",d);

}

printf("\n");//换行,一行输出结束

}

return 0;

}

折柳成萌
2019-07-02
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
比如你输入a 然后回车 getchar() 接收到的不是a 是回车 出来肯定是乱码 改法
int main()
{

char x;
while(1)
{
printf("请输入一个小写字母:");
x = getchar();
getchar();
printf("大写字母为\n");
putchar(x-32);
printf("\n");
}
return 0;
}
getchar 很不好用 还不如printf %s 来的好用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式