[解决办法] #include <stdio.h> int a[10000]; int b[10000]; void main() { int n;int i,j; for (n=8;n<=70;n+=8) { for (i=1;i<=n/2;i++) { if (i<=n/8||i>(n/2-n/8))
a[i]=2;
else a[i]=4; } for (j=1;j<=n/2;j++) { if (j<=n/8||j>(n/2-n/8))
b[j]=1;
else b[j]=3; } printf("\n构造%d条边的多边形:\n",n); for (i=1;i<=n;i++) { if(i%2!=0) { if (a[(i+1)/2]==1) printf("第%d步向上走\n",i); if (a[(i+1)/2]==2) printf("第%d步向右走\n",i); if (a[(i+1)/2]==3) printf("第%d步向下走\n",i); if (a[(i+1)/2]==4) printf("第%d步向左走\n",i); } else { if (b[i/2]==1) printf("第%d步向上走\n",i); if (b[i/2]==2) printf("第%d步向右走\n",i); if (b[i/2]==3) printf("第%d步向下走\n",i); if (b[i/2]==4) printf("第%d步向左走\n",i); } }