题目描述
给定一个正奇数n,请你打印一个n*n规模的钻石图形。钻石部分用'D'表示,其余部分用'*'表示。详见样例。
输入
一个正奇数n(3≤n≤30)
输出
一个钻石图形。
样例输入
7
样例输出
***D***
**DDD**
*DDDDD*
DDDDDDD
*DDDDD*
**DDD**
***D***
#include<stdio.h>
int main() {
int n;
int j,i;
scanf("%d",&n);
int a[n][n];
int x=n/2;
for(i=0; i<n/2+1; i++) {
for(j=0; j<x; j++)
printf("*",a[i][j]);
if(i<(n/2)+1) {
for(j=x; j<x+2*(i+1)-1; j++) printf("D",a[i][j]);
}
for(j<x+2*(i+1)-1; j<n; j++) printf("*",a[i][j]);
printf("\n");
if(i<n/2) x=x-1;
else x=x+1;
}
for(i=0; i<n/2; i++) {
for(j=0; j<i+1; j++) printf("*",a[i][j]);
for(j=i+1; j<n-i-1; j++) printf("D",a[i][j]);
for(j=n-i-1; j<n; j++) printf("*",a[i][j]);
printf("\n");
}
return 0;
}