C语言 二维数组打印三角形

输入顶行字符和图形的高。输出如下例(顶行字符为'A',图形的高为5)所示的图形,
A
BCD
EFGHI
JKLMNOP
QRSTUVWXY
下面是我自己写的
#include"stdio.h"
main()
{
char c;
int h,i,j,k;
scanf("%c%d",&c,&h);
char pic[200][100]={0};
for(i=0;i<h;i++)
for(j=0;j<2*h-1;j++)
pic[i][j]=' ';
for(i=0;i<h;i++)
{
for(j=0;j<2*h-1;j++)
{
if(j>=h-i-1&&j<=h+i-1)
pic[i][j]='*';
printf("%c",pic[i][j]);
}
printf("\n");
}

}
打印*组成的三角形就可以 换成字母就怎么也不是三角形了 求大神指点

#include"stdio.h"
main()
{
char c;
int h,i,j,k,d;
d=0;
scanf("%c%d",&c,&h);
char pic[200][100]={0};
for(i=0;i<h;i++)
 for(j=0;j<2*h-1;j++)
 pic[i][j]=' ';
for(i=0;i<h;i++)
{
for(j=0;j<2*h-1;j++)
{
if(j>=h-i-1&&j<=h+i-1)
 {pic[i][j]=c+d;
 d++;}
 printf("%c",pic[i][j]);
}
printf("\n");
}
 
}

//改了一下这样就可以了

追问

测试的时候还有点不对 实在是不会改 麻烦再给看看吧 多谢了

还有为什么不能直接写c++,要写c+d d++啊

追答

什么问题啊,这个图我没看懂啊,你给我说下是什么问题~我好和你说怎么改
c+d是我之前改过忘了改,失误哈~

追问

哦 内个我直接改成=c++ 了 也可以的。问题是你看到内个回车了没,我的回车打出来是挨着字母的,但测试用例的回车是在整个数组外面,这个编译器看不出来的。

追答

对的我的代码里的回车不是紧跟着的,每一行的字符串长度都是一样的哈

追问

我拿你内个交了 也不对 回车还是紧跟着字母的TT

不好意思 我看错了 回车应该是紧跟字母 但是现在这个没跟着 再帮着改一下好不 拜托了

温馨提示:答案为网友推荐,仅供参考
相似回答