看热闹来了

程序代码:#include<stdio.h>
#include<math.h>
int cal(int n, int r, int c, int y)
{
int t, t1;
n--;
t = r < c ? (t1 = n - c , r) : (t1 = n - r, c);
t = t < t1 ? t : t1;
y += 4 * (n - t + 1) * t;
return y + 1 + (r <= c ? r + c - t - t : n * 4 - t * 6 - r - c);
}
void show_cube(int n)
{
int i, j, k, d;
d = log10(n * n) + 1;
if(d == log10(n * 2) + 1) d++;
for(k = n - 1, i = 0; i < n; puts(""), k ? k-- : i++)
{
for(j = 0; j < k; j++) printf("%*c", d, ' ');
for(j = 0; j < n - 1; j++) printf("%-*d", d + 1, cal(n, i, j, k));
printf("%-*d", d, cal(n, i, j, k));
for(j = 1; j < n - k - i; j++) printf("%-*d", d, cal(n, i + j, n - 1, k + j));
}
}
int main()
{
int n;
printf("input n: ");
scanf("%d", &n);
show_cube(n);
return 0;
}

