c++字母输出金字塔, 如,输入C 输出: A ABA ABCBA 依次类推,其中space为自定义变量,即控制空格输出,

在下面程序基础上该正,有点毛病#include<stdio.h>#include<math.h>intmain(){charx,k,M;scanf("%c",&x);in... 在下面程序基础上该正,有点毛病
#include<stdio.h>
#include<math.h>
int main()
{
char x,k,M;
scanf("%c",&x);
int space;
scanf("%d",&space);
int N=x-64;
int i,j;
for(i=1;i<=N;i++)
{
for(j=1;j<=N+space-i;j++)
printf(" ");
for(j=1,k=65,M=65;j<=2*i-1;j++)//控制行输出,第一行输出一个字母,第二行3个,第n行2*n-1个
if (k<=x) //就是这个地方,求高手改正
{
printf("%c",k++);

M++;
}
else
printf("%c",--M-1);
printf("\n");

}
return 0;
}
展开
 我来答
望穿秋水待伊人
2012-12-02 · TA获得超过644个赞
知道小有建树答主
回答量:708
采纳率:100%
帮助的人:801万
展开全部
问题不大,就那个条件稍改下就OK了

#include<stdio.h>
#include<math.h>

int main()
{
char x,k,M;
scanf("%c",&x);
int space;
scanf("%d",&space);
int N=x-64;
int i,j;
for(i=1;i<=N;i++)
{
for(j=1;j<=N+space-i;j++)
printf(" ");
for(j=1,k=65,M=65;j<=2*i-1;j++)//控制行输出,第一行输出一个字母,第二行3个,第n行2*n-1个
if (k<= (64 + i)) //就是这个地方,求高手改正只需要 输出到该输出的字母就行,不需要到最大字母X
{
printf("%c",k++);
M++;
}
else
printf("%c",--M-1);
printf("\n");
}
return 0;
}
xiaobomo
2012-12-02 · TA获得超过523个赞
知道小有建树答主
回答量:533
采纳率:100%
帮助的人:364万
展开全部
你的x赋初值了!?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式