国产成人免费观看视频_亚洲国产激情_www.91视频com_www.久久_91视频全集_亚洲综合在

大学生新闻网,大学生新闻发布平台
大学生新闻网
大学生新闻大学生活校园文学大学生村官
社会实践活动社会实践经历社会实践报告社会实践总结社会实践心得
全国排名校友会版软科排名分类排名本科排名一本排名二本排名专科排名学校地址
求职简历职场法则面试技巧职场故事求职招聘大学生就业
英语学习计算机学习电气工程机械工程经济管理建筑设计财务会计
申请书证明书检讨书自荐信演讲稿心得体会调查报告读后感求职信推荐信其它范文

C语言输出菱形(详解版)

菱形,就是如下所示的图形,总行数与总列数相等:




写一个程序,根据用户输入的总行数,打印出菱形。

这个题目主要是找出规律,考察读者的逻辑思维。

你可以从第一行开始,遍历所有的列,也可以从第一列开始,遍历所有的行。

下面的程序从第一行开始,遍历所有的列。

设菱形的总行数为line,总列数为column,当前行为i,当前列为j。上半部分与下半部分的规律不一样,应该分开讨论。

我们着眼于星号(*),思考什么条件下输出星号,总结出如下的规律。

1) 对于上半部分(包括中间一行),当前行与当前列满足如下关系输出星号:
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) 对于下半部分,当前行与当前列满足如下关系输出星号:

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;  // 菱形总行数
    int column;  // 菱形总列数
    int i;  // 当前行
    int j;  // 当前列
 
    printf("请输入菱形的行数(奇数):");
    scanf("%d", &line);
    if(line%2==0){  // 判断是否是奇数
        printf("必须输入奇数!\n");
        exit(1);
    }
    column = line;  // 总行数和总列数相同
 
    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;
运行结果:

请输入菱形的行数(奇数):11
     *
    ***
   *****
  *******
 *********
***********
 *********
  *******
   *****
    ***
     *
    作者:大学生新闻网    来源:大学生新闻网
    发布时间:2025-03-11    阅读:
    扫一扫 分享悦读
  • C语言输出菱形(详解版)
  • C语言汉诺塔问题,用C语言实现汉诺塔
  • 汉诺塔问题是指:一块板上有三根针 A、B、C。A 针上套有 64 个大小不等的圆盘,按照大的在下、小的在上的顺序排列,要把这 64 个圆盘从
  • 03-10 关注:4
  • C语言日期函数,日期处理函数
  • 定义一个表示日期的结构体类型,再分别定义函数完成下列功能:计算某一天是对应年的第几天,这一年一共多少天;计算两个日期之间相隔的
  • 03-10 关注:4
主站蜘蛛池模板: 久草手机在线 | 国产欧美日韩不卡一区二区三区 | 天天躁日日躁狠狠躁中文字幕老牛 | 自拍一区在线观看 | 日韩亚洲人成在线综合 | 午夜无码片在线观看影院 | 国产乱人偷精品人妻a片 | 51国产黑色丝袜高跟鞋 | 成人在线观看视频网站 | 手机看片福利一区二区三区 | 一级毛片一级毛片免费毛片 | 国产综合精品一区二区三区 | 亚洲一区综合 | 久久综合伊人中文字幕 | 中文精品久久久久人妻不卡 | 中文字幕你懂的 | 人人妻人人澡人人爽人人精品电影 | 国产精品青草久久福利不卡 | 国产精品a成v人在线播放 | 国产xxx在线 | 日韩欧美中 | 亚洲av电影天堂男人的天堂 | 色综合网天天综合色中文男男 | 亚洲男人的天堂网站 | 乱一色一一区二区三区 | 麻豆精品久久久久久久99蜜桃 | 国产午夜精品视频 | 最新欧美伦理网 | 黄色a级片免费观看 | 国产欧美一区二区精品久久久 | 欧美.成人.综合在线 | 成人男女拍拍拍在线视频 | 边啃奶头边躁狠狠躁 | 欧美疯狂xxxx乱大交 | 一级做a级爰片性色毛片视频 | 国产成人免费视频精品一区二区 | 国产欧美日韩久久久久 | 成人内射国产免费观看 | 欧美日韩亚洲精品一区二区三区 | 99久久99久久 | 亚洲av人人夜夜澡人人 |