大學生新聞網(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
主站蜘蛛池模板: 嘿嘿嘿视频免费网站在线观看| 无码一区二区三区中文字幕| 国产精品亚洲色图| 大bbwbbwbbwvideos| 免费永久国产在线视频| 一区二区三区在线免费看 | 久久精品亚洲中文字幕无码网站| 日韩色图在线观看| 极品尤物一区二区三区| 国产成人精选免费视频| 久久这里只精品国产免费10| 麻豆国产三级在线观看| 日本私人网站在线观看| 国产一级片免费看| 中文字幕无码av激情不卡| 美女免费视频一区二区| 娇妻校花欲乱往事叶子 | 久久久久久夜精品精品免费啦| 青青草原1769久久免费播放| 男女激情边摸边做边吃奶在线观看| 日韩精品无码久久一区二区三 | a毛片免费在线观看| 猫扑两性色午夜视频免费| 国自产精品手机在线视频香蕉| 亚洲最大av网站在线观看| 你懂的国产精品| 日韩欧美一区二区三区四区| 国产丰满肥熟在线观看| 东京道一本热中文字幕| 男女猛烈无遮掩免费视频| 国产麻豆精品入口在线观看| 亚洲人成色77777| 里番acg里番龙| 幻女free牲2020交| 亚洲欧美视频在线观看| 色噜噜狠狠一区二区| 日本19禁综艺直接啪啪| 免费精品无码AV片在线观看| 97久视频精品视频在线老司机 | 国产成人高清亚洲一区app| 少妇无码av无码专区线|