第1个回答 推荐于2017-12-16
写的不是很好,请笑纳。
#include<stdio.h>
void main()
{
int i,j,k,n,m;
char c;
printf("输入字符和高,以逗号隔开,注意,行高只能为奇数:");
scanf("%c,%d",&c,&n);
n = n/2;
for(i=1;i<=n+1;i++)
{
for(j=1;j<=n-i+1;j++)
printf(" ");
printf("%c",c++);
if(i != 1)
{
for(k=1;k<=2*i-3;k++)
{
printf(" ");
}
m = k-1;
printf("%c",c-1);
}
printf("\n");
}
c--;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
printf(" ");
printf("%c",--c);
if(i != n)
{
for(k=(m-=2);k>=1;k--) printf(" ");
printf("%c",c);
}
printf("\n");
}
}本回答被提问者采纳
第2个回答 2010-10-31
#include<stdio.h>
#include<stdlib.h>
main()
{ int i,j,k=5,m;
char a;
scanf("%c",&a);
m=2*k-1;
for(i=2;i<=m;i++)
{
if(i<=k)for(j=1;j<=k+i-1;j++)
{if(j==k+i-1) printf("%c\n",a+i-1);
else if(j==k+1-i) printf("%c",a+i-1);
else printf(" ");}
else for(j=1;j<=m+k-i;j++)
{if(j==m+k-i) printf("%c\n",a+m-i);
else if(j==k+i-m) printf("%c",a+m-i);
else printf(" ");}
}
system("pause");
}
可以改变k的值...