c语言 做不对啊。。哪儿错了??? 输入图形的高 n 和顶行字符 c .输出如下例( c='A' , n=5 )所示的图形.

#include<stdio.h>
main()
{
int n,i,j;
char c;
scanf("%d,%c",&n,&c);
for(i=1;i<=n;i++)
{
for(j=1;j<n+i;j++)
{if(j==n+i-1||j==n-i+1)
printf("%c",&c);
else
printf(" ");}
printf("\n");
c=c+1;}
c=c-1;
for(i=1;i<n;i++)
{for(j=1;j<=2*n-i-1;j++)
{if(j==i+1||j==2*n-i-1)
printf("%c",&c);
else
printf(" ");}
printf("\n");
c=c-1;}

}

求指点

是要求输出一个菱形吗?我给你修改了一下,都是小错误:输入的时候要输入5,a 逗号不能省
#include<stdio.h>
main()
{
int n,i,j;
char c;
scanf("%d,%c",&n,&c);
for(i=1;i<=n;i++)
{
for(j=1;j<n+i;j++)
{if(j==n+i-1||j==n-i+1)
printf("%c",c); //输出不需要使用&
else
printf(" ");}
printf("\n");
c=c+1;}
c=c-2; //这里-2,因为最后一次的字符没有输出
for(i=1;i<n;i++)
{for(j=1;j<=2*n-i-1;j++)
{if(j==i+1||j==2*n-i-1)
printf("%c",c); //理由同上
else
printf(" ");}
printf("\n");
c=c-1;}

}追问

请问,我写的它永远只输出字母p,是为什么呢?

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-24
输出什么图形?
相似回答