回复 20楼 Ayiis
程序代码:#include <stdio.h>
int main()
{
int n,m,j,k,s,u;
char i[64];
do {
printf("\n\n你想要: [0]右三角\n%8c[1]正三角\n%8c[2]正方形\n%8c[3]倒三角\n%8c[4]左三角\n%8c[5]左箭头\n",32,32,32,32,32);
scanf("%d",&s);
}
while(s<0||s>5);
do printf("\n你想要边长(建议2-9)?\n");
while(!scanf("%d",&n),n<2 || n>9); // 这里可以改进下
if (s==1||s==3)
s/=j=s++;
for(m=n;n>0&&j!=3;n--)
{
sprintf(i,"\n%%%dc",s*n);
printf(i,32);
for (k=n*2-2, u = -1;k<m*2-1;k++)
{
if (k <= m + n -2)
u++;
else
u--;
printf(" %c",90 - u);
}
}
for(n+=2,m+=(j==3);m>1&&j!=1;m--)
{
sprintf(i,"\n%%%dc",s*n++);
printf(i,32);
for (k=m*2-3, u = -1;k>0;k--)
{
if (k >= m - 1)
u++;
else
u--;
printf(" %c",90 - u);
}
}
return main();
}
不知道这个怎么样 貌似你的箭头和左右三角不是很对称.[ 本帖最后由 有容就大 于 2012-5-24 22:26 编辑 ]

梅尚程荀
马谭杨奚








。

