zoz○zo女人和另类zoz0,freeⅹ性欧美xvideos,中文字幕人妻一区二区三区熟女,97四房播播,av狼最新网址

大學(xué)生新聞網(wǎng),大學(xué)生新聞發(fā)布平臺(tái)
大學(xué)生新聞網(wǎng)
大學(xué)生新聞大學(xué)生活校園文學(xué)大學(xué)生村官
社會(huì)實(shí)踐活動(dòng)社會(huì)實(shí)踐經(jīng)歷社會(huì)實(shí)踐報(bào)告社會(huì)實(shí)踐總結(jié)社會(huì)實(shí)踐心得
全國(guó)排名校友會(huì)版軟科排名分類排名本科排名一本排名二本排名專科排名學(xué)校地址
求職簡(jiǎn)歷職場(chǎng)法則面試技巧職場(chǎng)故事求職招聘大學(xué)生就業(yè)
英語(yǔ)學(xué)習(xí)計(jì)算機(jī)學(xué)習(xí)電氣工程機(jī)械工程經(jīng)濟(jì)管理建筑設(shè)計(jì)財(cái)務(wù)會(huì)計(jì)
申請(qǐng)書證明書檢討書自薦信演講稿心得體會(huì)調(diào)查報(bào)告讀后感求職信推薦信其它范文

C語(yǔ)言輸出菱形(詳解版)

菱形,就是如下所示的圖形,總行數(shù)與總列數(shù)相等:




寫一個(gè)程序,根據(jù)用戶輸入的總行數(shù),打印出菱形。

這個(gè)題目主要是找出規(guī)律,考察讀者的邏輯思維。

你可以從第一行開始,遍歷所有的列,也可以從第一列開始,遍歷所有的行。

下面的程序從第一行開始,遍歷所有的列。

設(shè)菱形的總行數(shù)為line,總列數(shù)為column,當(dāng)前行為i,當(dāng)前列為j。上半部分與下半部分的規(guī)律不一樣,應(yīng)該分開討論。

我們著眼于星號(hào)(*),思考什么條件下輸出星號(hào),總結(jié)出如下的規(guī)律。

1) 對(duì)于上半部分(包括中間一行),當(dāng)前行與當(dāng)前列滿足如下關(guān)系輸出星號(hào):
j>=(column+1)/2-(i-1) (column+1)/2-(i-1)為第i行最左邊的星號(hào)
j<=(column+1)/2+(i-1) (column+1)/2+(i-1)為第i行最右邊的星號(hào)
2) 對(duì)于下半部分,當(dāng)前行與當(dāng)前列滿足如下關(guān)系輸出星號(hào):

j>=(column+1)/2-(line-i) (column+1)/2-(line-i)為第i行最左邊的星號(hào)
j<=(column+1)/2+(line-i) (column+1)/2+(line-i)為第i行最右邊的星號(hào)
不滿足上述條件,則輸出空格。

于是寫出如下的代碼:

#include <stdio.h>
#include <stdlib.h>
 
int main(){
    int line;  // 菱形總行數(shù)
    int column;  // 菱形總列數(shù)
    int i;  // 當(dāng)前行
    int j;  // 當(dāng)前列
 
    printf("請(qǐng)輸入菱形的行數(shù)(奇數(shù)):");
    scanf("%d", &line);
    if(line%2==0){  // 判斷是否是奇數(shù)
        printf("必須輸入奇數(shù)!\n");
        exit(1);
    }
    column = line;  // 總行數(shù)和總列數(shù)相同
 
    for(i=1; i<=line; i++){  // 遍歷所有行
        if(i<(line+1)/2+1){  // 上半部分(包括中間一行)
            for(j=1; j<=column; j++){  // 遍歷上半部分的所有列
                if( (column+1)/2-(i-1)<=j && j<=(column+1)/2+(i-1) ){
                    printf("*");
                }else{
                    printf(" ");
                }
            }
        }else{  // 下半部分
            for(j=1; j<=column; j++){  // 遍歷下半部分的所有列
                if( (column+1)/2-(line-i)<=j && j<=(column+1)/2+(line-i) ){
                    printf("*");
                }else{
                    printf(" ");
                }
            }
        }
        printf("\n");
    }
 
    return 0;
運(yùn)行結(jié)果:

請(qǐng)輸入菱形的行數(shù)(奇數(shù)):11
     *
    ***
   *****
  *******
 *********
***********
 *********
  *******
   *****
    ***
     *
    作者:大學(xué)生新聞網(wǎng)    來源:大學(xué)生新聞網(wǎng)
    發(fā)布時(shí)間:2025-03-11    閱讀:
    掃一掃 分享悅讀
  • C語(yǔ)言輸出菱形(詳解版)
  • C語(yǔ)言日期函數(shù),日期處理函數(shù)
  • 定義一個(gè)表示日期的結(jié)構(gòu)體類型,再分別定義函數(shù)完成下列功能:計(jì)算某一天是對(duì)應(yīng)年的第幾天,這一年一共多少天;計(jì)算兩個(gè)日期之間相隔的
  • 03-10 關(guān)注:4