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

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

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




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

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

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

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

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

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

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

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

于是寫出如下的代碼:

#include <stdio.h>
#include <stdlib.h>
 
int main(){
    int line;  // 菱形總行數(shù)
    int column;  // 菱形總列數(shù)
    int i;  // 當前行
    int j;  // 當前列
 
    printf("請輸入菱形的行數(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;
運行結(jié)果:

請輸入菱形的行數(shù)(奇數(shù)):11
     *
    ***
   *****
  *******
 *********
***********
 *********
  *******
   *****
    ***
     *
    作者:大學生新聞網(wǎng)    來源:大學生新聞網(wǎng)
    發(fā)布時間:2025-03-11    閱讀:
    掃一掃 分享悅讀
  • C語言輸出菱形(詳解版)
  • C語言日期函數(shù),日期處理函數(shù)
  • 定義一個表示日期的結(jié)構(gòu)體類型,再分別定義函數(shù)完成下列功能:計算某一天是對應(yīng)年的第幾天,這一年一共多少天;計算兩個日期之間相隔的
  • 03-10 關(guān)注:4
主站蜘蛛池模板: 男女下面一进一出无遮挡gif| 91探花视频在线观看| 欧美日韩一区二区三| 国产aaa女人十八毛片| V一区无码内射国产| 日本久久中文字幕精品| 亚洲成a人片在线观看播放| 美女张开腿给男人桶| 国产男女免费完整版视频| xxxx性bbbb欧美野外| 日本簧片在线观看| 亚洲精品国产福利在线观看| 老湿影院在线观看| 国产最新精品视频| 99视频精品全部在线| 成年女人免费视频播放体验区| 亚洲人成亚洲精品| 男女裸体影院高潮| 国产乱偷国产偷高清| 18禁无遮挡无码网站免费| 性欧美video在线播放| 久久天天躁狠狠躁夜夜不卡| 欧美激情亚洲色图| 免费高清电影在线观看| 青青草成人在线| 国产精品国产亚洲精品看不卡| 一个上面吃一个下免费| 日本韩国一区二区三区| 亚洲伊人色欲综合网| 狠狠躁天天躁无码中文字幕图| 国产chinesehd精品酒店| 成人免费视频69| 国产精品视频在| www..com黄| 成人激情免费视频| 久久人妻av一区二区软件| 樱桃视频影院在线播放| 无码人妻精品一区二区三区夜夜嗨 | 精品视频在线观看你懂的一区 | 男人j桶进女人p无遮挡在线观看| 国产freexxxx性播放|