回复 40楼 饭桶
WOW,很好嘛,连变量都没有加,那条算式【90-m+n+abs(m+n-2-k)】可以看出来,你很厉害嘛!这是俺想做到的,俺功力不够做不到才加了一个变量。。俺看看能不能把那代码再给改改
[ 本帖最后由 Ayiis 于 2012-5-25 23:07 编辑 ]

- 该单位
- 正在被拖走
程序代码:#include <stdio.h>
int main(){
int n,m,j,k,s,t=90;
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<0);
if (s==1||s==3) s/=j=s++;
for(m=n;n>0&&j!=3;n--){
sprintf(i,"\n%%%dc",s*n);
printf(i,t);
for (k=n*2-2;k<m*2-2;k++)
printf(" %c",t+=1-(n+m>k+2)*2);
}
for(n+=2,m+=(j==3);m>1&&j!=1;m--){
sprintf(i,"\n%%%dc",s*n++);
printf(i,t);
for (k=m*2-3;k>1;k--)
printf(" %c",t-=1-(m>k)*2);
}
return main();
}