日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用C语言打印出一个菱形

發(fā)布時間:2023/12/9 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用C语言打印出一个菱形 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

使用C語言打印出一個菱形:

???? 記得還是上C語課的時候,自己使用過一個比較笨的方法寫過7行的實心菱形,但是今天一同學問我,讓我?guī)退麑戇@個程序時缺一時鍵不知到怎么寫。然后自己就把這個算法模擬了一辯,使用了三種方法實現(xiàn)了打印菱形。

代碼如下:

#include<iostream>
using namespace std;

void diomand(int r)??????? // 打印空心菱形
{
?? ?for (int x=0; x <= 2 * r; x++)
?? ?{
?? ??? ?for (int y=0; y <= 2 * r; y++)
?? ??? ?{
?? ??? ??? ?if (y==x+r||y==x-r||y==-x+r||y==-x+3*r)
?? ??? ??? ?{
?? ??? ??? ??? ?printf("*");

?? ??? ??? ?}
?? ??? ??? ?else
?? ??? ??? ?{
?? ??? ??? ??? ?printf(" ");
?? ??? ??? ?}
?? ??? ?}
?? ??? ?printf("\n");
?? ?}
}

// 方法一? 分步打印
void rhombus(int len)
{
?? ?int i, j, k;
//?? ?int m = len / 2+1;?? // 記錄前l(fā)en/2+1行;? ?
?// 打印出前l(fā)en/2+1行
?? ?for (i = 0; i <=len / 2 + 1; i++)
?? ?{
?? ??? ?// 光標移到每行開始輸出“ ”的位置
?? ??? ?for (j = 0; j < len / 2 + 1 - i; j++)
?? ??? ?{
?? ??? ??? ?cout<<" ";
?? ??? ?}

?? ??? ?// 開始輸出“*”
?? ??? ?for (k = 0; k < 2 * i + 1; k++)
?? ??? ?{
?? ??? ??? ?cout<<"*";
?? ??? ?}
?? ??? ?cout<<endl;
?? ?}

// 打印出后len/2-1行
?? ?for (i = len/2;i>=0; i--)
?? ?{
?? ??? ?// 光標移到每行開始輸出“ ”的位置
?? ??? ?for (j = 0; j <=len / 2 - i; j++)
?? ??? ?{
?? ??? ??? ?cout << " ";
?? ??? ?}

?? ??? ?// 開始輸出“*”
?? ??? ?for (k = 0; k < 2 * i + 1; k++)
?? ??? ?{
?? ??? ??? ?cout << "*";
?? ??? ?}
?? ??? ?cout << endl;
?? ?}
}

// 方法二:???? // 按條件輸出“*”和“ ”
void rhombus2(int len)
{
?? ?for (int i = 0; i <len; i++)
?? ?{
?? ??? ?for (int j = 0; j < len; j++)
?? ??? ?{
?? ??? ??? ?if (i + j <= len/2-1 || (j - i >= len/2+1 || i - j >= len/2+1) || i + j >=len+len/2)
?? ??? ??? ?{

?? ??? ??? ??? ?cout << " ";
?? ??? ??? ?}
?? ??? ??? ?else
?? ??? ??? ?{
?? ??? ??? ??? ?cout << "*";
?? ??? ??? ?}
?? ??? ?}
?? ??? ?cout << endl;
?? ?}
}
int main(void)
{
?? ?int r = 0;
?? ?int m = 0;
?? ?cin >> r;
?? ? diomand(r);??? // 打印出空心菱形
//?? ?rhombus(7);
?? ?rhombus1(r);??? // 分步打印實心菱形
?? ?cin >> m;
?? ?rhombus2(m);? // 按條件打印出實心菱形
?? ?return 0;
}


總結

以上是生活随笔為你收集整理的使用C语言打印出一个菱形的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。