输出菱形的代码
之前寫過(guò)這種題,但是用的方法過(guò)于麻煩。最近看到了一種新的解法,與大家一同分享一下。
?
曼哈頓距離:(X1,Y1)? (x2,y2)兩點(diǎn)
|X1-x2|+|Y1-y2|
現(xiàn)在讓我們畫個(gè)方格?:
?x,y軸已經(jīng)標(biāo)好,咱們從零開(kāi)始。中心點(diǎn)坐標(biāo)為(2,2),之后計(jì)算出各點(diǎn)距離中心點(diǎn)的曼哈頓距離。之后我們發(fā)現(xiàn),在距離小于等于2處畫*是符合要求的。我們可以得出以下代碼:
#include <iostream>
#include <cmath> //C++調(diào)用math庫(kù)的方法 C語(yǔ)言是 #include <stdio.h>
using namespace std;
int main(){int n,x,y;cin >>n;x=n/2;y=n/2;for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(abs(i-x)+abs(j-y)<=n/2){cout << '*';//輸出}else{cout << ' ';//輸出}}cout <<endl;//輸出換行符}return 0;
}
總結(jié)
- 上一篇: 80平方装修多少钱啊?
- 下一篇: 吻着你的脸是哪首歌啊?