回复 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 编辑 ]
梅尚程荀
马谭杨奚