Twilight Sparkle once got a crystal from the Crystal Mine. A crystal of size n (n is odd; n > 1) is an n × n matrix with a diamond inscribed into it.
You are given an odd integer n. You need to draw a crystal of size n. The diamond cells of the matrix should be represented by character "D". All other cells of the matrix should be represented by character "*". Look at the examples to understand what you need to draw.
The only line contains an integer n (3 ≤ n ≤ 101; n is odd).
Output a crystal of size n.
3
*D* DDD *D*
5
**D** *DDD* DDDDD *DDD* **D**
7
***D*** **DDD** *DDDDD* DDDDDDD *DDDDD* **DDD** ***D***
题意:像sample那样输出一个图形。。
思路:这不是语言练习题么。。当时没时间了,没有仔细思考,胡乱写的,发现错位稍微改一下就对了。。
#include <iostream>
#include <stdio.h>
#include <cmath>
#include <algorithm>
#include <iomanip>
#include <cstdlib>
#include <string>
#include <memory.h>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#define ll long long
#define INF 1000000
using namespace std;
int main(){
int n;
while(cin>>n){
for(int i=1;i<=n;i++){
int tmp=i;
if(i>n/2+1)tmp=n+1-i;
for(int j=1;j<=n;j++){
if(j>=n/2+1-(tmp-1)&&j<=n/2+1+(tmp-1)){
printf("D");
}else
printf("*");
}
cout<<endl;
}
}
return 0;
}
本文介绍了一个简单的编程挑战,即根据输入的奇数尺寸n,绘制一个包含钻石形状的水晶图案。文章提供了一段C++代码示例,展示了如何通过循环和条件判断来生成所需的图形。

被折叠的 条评论
为什么被折叠?



