C语言输出菱形

通过for循环语句进行遍历,打印总行数和总列数相等的菱形。
两种思维:
1.从第一行开始遍历所有列
2.从第一列开始遍历所有行

程序是从第一行开始遍历所有列

打印上半部分当前行与当前列的关系:
(column+1)/2 - (i-1) <= j && j<= (column+1)/2 + (i-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行右边的星号

打印下半部分当前行与当前列的关系:
(column+1)/2-(line-i)<=j && j<=(column+1)/2+(line-i)

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");    }   system("pause");
}

C语言输出菱形(C笔记)相关推荐

  1. C语言——输出*菱形

    C语言--输出*菱形 题目要求: #include <stdio.h>int main() {int i;int j;int n = -1;int k;k = 1;while (k < ...

  2. c语言间隔输出菱形图案,c语言输出菱形图案

    c语言输出菱形图案app,专为想学习编程的伙伴们提供的学习软件.在c语言输出菱形图案app中你可查看各类关于IT的相关信息,体验一对一即时在线答疑咨询服务,以及在线上课.看教学视频等. 基本简介 c语 ...

  3. c语言输出菱形13579,C语言怎样输出菱形

    C语言怎样输出菱形 C语言怎样输出菱形你知道吗?上网搜索一下,但网上的方法都是分为上下部分用两个嵌套for循环输出.下面是小编为大家带来的C语言怎样输出菱形的知识,欢迎阅读. C语言怎样输出菱形 适有 ...

  4. C语言输出菱形图案(二维数组)

    输出菱形图 #include <stdio.h> int main() {//system("mode con cp select=65001");int i,j;ch ...

  5. c语言输出菱形for循环_c语言输出菱形

    07 以下是所有的代码: #include void print(int n) { //判断n是否符合正奇数的要求 if(n < 0 || n % 2 == 0) //不符合则直接退出 retu ...

  6. C语言 输出菱形 最短代码!

    哈哈,本人大四了,整理代码偶尔发现大一时候上c语言实验课捣鼓出来的打印菱形代码,当然可能很多人都发过,但这个真的是我上课琢磨出来的,发出来分享一下. #include <stdio.h> ...

  7. c语言输出菱形for循环_c语言for循环如何打印菱形

    c语言for循环打印菱形的方法:使用两个for循环,实现条件判断,代码为[int i,j;for(i=0; i<2*n-1; i++){if(i=n-i-1&&j c语言for循 ...

  8. C语言输出菱形及其思路

    思路:打印这种图形,要一步步来 输出四行全为*: 找出*和行数的关系,第一行,1个*.第二行,3个*.第三行,5个*......第i行,2*i-1个*: 在*前输出空格,依然要寻找关系.第一行,3个空 ...

  9. c语言输出菱形用等差数列找规律,「初中数学」探索规律——等差与二阶等差数列...

    初中常见的规律有符号规律,等差数列规律,二阶等差数列规律,等比数列规律.循环规律等.本文就等差数列规律,二阶等差数列规律展开研究. 一.等差数列 [定义]等差数列是指从第二项起,每一项与它的前一项的差 ...

  10. C语言—输出菱形(一次循环嵌套实现)

    这个作为新手入门的经典题,大部分同学都是采用两个循环实现的,这不免显得冗余,本文对经典代码进行改进: ~紧紧结合函数的对称性 #include<stdio.h> int main() {i ...

最新文章

  1. ASP.Net ViewState的实现
  2. 码云创建maven工程
  3. WebBrowser 打印设置,打印预览,去页眉和页脚
  4. windows下mysql安装配置启动
  5. android 什么是9.png
  6. js如何获取jwt信息_谈房地产公众号如何涨粉?一篇文章让你轻松获取信息
  7. 无数踩坑系列(1)--Brightness Controller
  8. 在Ubuntu1404的64bit版本下安装caffe
  9. python包之间引用_python 子包引用父包和其他子包
  10. centos 环境变量_CentOS系统下为用户添加root权限
  11. 安装pyspider报错:ERROR: Complete output from command python setup.py egg_info:...
  12. D3js-中国各主要大城市经纬度数据
  13. 如何将两个mp3文件合成一个?
  14. 多维正态随机变量的条件概率密度函数推导
  15. 《tensorflow实战》6——强化学习之策略网络
  16. oracle几何体数据类型,4.2 SDO_GEOMETRY类型、属性和值
  17. 2030年,程序员工资还能达到现在的水平吗?
  18. 团队项目代码分析(Android游戏:别踩白块儿)
  19. linux查看exif软件,EXIF信息查看器使用教程及功能解析
  20. linux打印函数名,linux kernel 打印函数指针对应的函数名方法

热门文章

  1. 当古典音乐遇上NFT
  2. ps多种去水印方法与技巧-适合各种水印
  3. java实现短信验证码发送功能
  4. oracle表同步 job,Oracle中通过Job实现定时同步两个数据表之间的数据
  5. Codeforces Round #540 (Div. 3)--B. Tanya and Candies(前缀和的运用与变化)
  6. HDU 6514 2019中山大学程序设计竞赛(二维前缀和)
  7. matlab:研究二阶系统中开环参数的影响
  8. Super Iservice 发布地图三维服务
  9. [刀塔自走棋] 一些数据
  10. 查看电脑显卡(GPU)是否支持CUDA