C语言输出三角形,第一行是一个A,第二行3个B,第三行5个C,以此类推。 输入的行数由n决定,请问错在哪了

#include<stdio.h>
void main()
{
int i,j,k,m,n;
char ch;
printf("Enter n:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{ch='a'+i-1;
m=2*i-1;}
for(k=n;k>i;k--) putchar(" ");
for(j=1;j<=m;j++) putchar(ch);
}
}
是哪里错了

#include<stdio.h>
void main()
{
int i,j,k,m,n;
char ch;
printf("Enter n:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
ch='a'+i-1;
m=2*i-1;
for(k=n;k>i;k--)
putchar(' '); //错误1:这里是单引号,表示一个字符,不是字符串
for(j=1;j<=m;j++)
putchar(ch);
putchar('\n'); //需要加个换行语句,不然得不到三角形..
}
}
这是改好的程序,源程序也没什么大问题...
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-14
#include<stdio.h>
void main()
{
int i,j,k,m,n;
char ch;
printf("Enter n:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{ch='a'+i-1;
m=2*i-1;//} //这里多了一个}
for(k=n;k>i;k--) putchar(' ');//putchar(" "); 空格是一个字符,不是字符串。
for(j=1;j<=m;j++) putchar(ch);
printf("\n");
}
}