输入:4
输出:
1234321
23432
343
4
343
23432
1234321
void printStrLine(int offset, int start, int end)
{
for (int i = 0; i < offset; i++) {
printf(" ");
}
for (int i = start; i < end; i++) {
printf("%u", i);
}
for (int i = end; i >= start; i--) {
printf("%u", i);
}
printf("\r\n");
}
int main()
{
int num;
printf("请输入数字:");
scanf("%d", &num);
for (int i = 0; i < num; i++) {
printStrLine(i, i + 1, num);
}
for (int i = num - 2; i >= 0; i--) {
printStrLine(i, i + 1, num);
}
return 0;
}
供参考:
#include<stdio.h>
int main()
{
int i,j,n,k;
scanf("%d",&n);
for(i=n-1;i>0;i--) //上半部
{
for(j=i;j<n-1;j++)
printf(" ");
for(j=0,k=n-i;j<2*i+1;j++)
printf("%d" ,j < i ? k++ : k--);
printf("\n");
}
for(i=0;i<n;i++) //下半部
{
for(j=i;j<n-1;j++)
printf(" ");
for(j=0,k=n-i;j<2*i+1;j++)
printf("%d" ,j < i ? k++ : k--);
printf("\n");
}
return 0;
}