循环结构-打印菱形(C语言)

同http://www.cnblogs.com/MichaelLee2015/p/4403005.html

int main()
{
    int h;//表示菱形的高的一半,也就是用户输入的数
    printf("请输入xxx我也不知道这里怎么说\n");//提示用户输入一个数
    scanf("%d",&h);//把用户的输入读取进来并存到h中

    //上半部分
    //思路:我们想输出菱形,要考虑每一行的星号前面有几个空格,每一行有几个星号
    //经过推(数)理(数)我们发现,星号最多一行的星号个数为 (2h-1) 个
    //第一行前面空格个数为h-1;第i行(i<h)空格个数为h-i
    //我们以h=6为例,星号最多的一行是第6行,*个数为11个,第6行前面是没有空格的
    //第一行前面有5个空格

    for (int i = 1; i <= h; i++)//第几行
    {
        for (int j = 1; j <= h - i; j++)//输出该行的空格
        {
            printf(" ");//输出一个空格
        }

        for (int k = 1; k <= 2 * i - 1; k++)//输出该行的* 每行星号个数为(2i-1)
        {
            printf("*");
        }

        printf("\n");//当前行输出完成,换行
    }

    //到这里,上半行完成
    //下面打印下半行

    //下半行的话就完全反过来。下半行的第1行前面有一个空格 有[2(h-1)-1]个星号
    //下半行的第m行有m个空格,[2(h-m)-1]个星号
    //下半行共有h-1行

    for (int m = 1; m <= h - 1; m++)//m表示下半行的行数
    {
        for (int n = 1; n <= m; n++)//输出空格
        {
            printf(" ");
        }

        for (int o = 1; o <= 2 * (h - m) - 1; o++)//输出*
        {
            printf("*");
        }

        printf("\n");//换行
    }

    return 0;
}
时间: 2024-07-28 23:35:17

循环结构-打印菱形(C语言)的相关文章

循环结构-打印九九乘法表(C语言)

同http://www.cnblogs.com/MichaelLee2015/p/4403007.html #include <stdio.h> int main() { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { printf("%d*%d=%d\t",j,i,j*i);//比如“二三得六”在第3行第2列,j*i=(j*i),因此i=2,j=3即 3*2=6 } printf(&q

使用C语言,利用for循环打印菱形(每个相邻菱形都要带空格)

之前看到网上的一些文章介绍如何打印菱形,但是和我当时题目要求的却不一样,网上的代码输出出来时每个相邻菱形并没有带空格. 我现在所介绍的是每个相邻菱形间都带有空格的代码. 习题及代码如下: 用*输出边长为n的实心菱形. * * * * * * * * * printf("请输入一个整数:"); int n = 0; scanf("%d",&n); //打印行数,注意必须是奇数行所以是2n-1 for (int i = 1; i <= 2*n - 1; i

C语言-循环结构及break、continue

循环结构 -------------------------- --1-- 结构循环 1.1 while循环 1.2 do…while循环 1.3 for循环 --2-- break和continue 2.1 break关键字 2.2 continue关键字 -------------------------- [写在开头:] 『 生活中的循环: C语言中的循环: 循环结构是程序中一种很重要的结构.其特点是,在给定的条件成立时,反复执行某程序段,直到条件不成立为止. C语言中提供了多种循环语句:

C语言之循环结构

程序结构: 顺序结构 条件结构(分支结构) if结构,if-else结构 ,多重if分支结构,switch结构 循环结构:做重复的事情 while循环,do..while循环和for循环. 写循环结构主要注意两点:循环条件(做多少遍)和循环体(重复做的事情). while结构语法: while(条件){ //循环体; } 特点:先判断,后执行,条件不满足一次都不执行. 注意:检查循环条件是否恒成立,如果循环条件恒成立将造成死循环. 示例1: int i=1; while(i<=5){ print

Python中使用循环语句打印三角形、菱形

前言:在学习开发语言循环语句的使用过程中,经常会打印各种形状来验证对循环语句的熟练掌握程度,接下来就使用python来打印多种形状练习. 如下示例中:变量i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制星号(*)的个数 1. 打印三角形  1.1 打印直角三角形 #/usr/bin/python rows = int(raw_input('please input a rows:')) i=j=k=1 if rows >= 3: for i in range(0,rows+1):

C语言 03 循环结构

程序有三种结构 1.顺序结构 2.分支结构 3.循环结构  (通常与数组结合使用) while 循环 while(条件表达式){ 语句 } 注意:条件表达式为真,执行循环体,一旦条件表达式为假,循环停止. //用while打印出1~100之间不是7的倍数并且不包含7的数. int i=1; while (i<=100) { if (i%10!=7 && i/10!=7&&i % 7!=0) { printf("%d\n",i); } i++; }

五.php语言结构(2)循环结构

循环结构 学习目标:while  do while for 了解它们的特性,和区别,记住循环的几条件. 看代码: <?PHP //while 条件为真才运行. $i=0; while($i<=10){ echo $i++,'<br/>';      //打印出0 到 10 } //while ‘当’的意思.这表达式意为,当括号里的值为真时,就执行,直到为假. 所以,我们不断的修改值,让其为假停下来.这是个循环. //do while 条件不管真假,都执行一次 $i=100; do{

C# FOR 循环语句——打印五角星和菱形

for循环.for 然后 tab键 自动生成下面的 for (int i = 0/*初始条件*/; i < length/*循环条件*/; i++/*状态改变*/){        //循环体,执行代码:(break 跳出循环体)} 给出初始条件,先判断是否满足循环条件,如果不满足则跳过for循环语句,如果满足,则进入for循环语句执行,for语句内的代码执行完毕后,将按照状态改变,改变变量,然后判断是否符合循环条件,符合则继续执行for语句内的代码,直到变量i不符合循环条件则终止循环,或者碰到

C 语言循环结构

9 #import <Foundation/Foundation.h> 10 11 int main(int argc, const char * argv[]) { 12 13 /*#pragam mark--while-- 14 if (条件表达式){语句;} 15 16 while(条件表达式){循环体;} 17 18 */ 19 //要打印100次我爱你 20 //首先定义一个变量接收我们说的 我爱你的次数 21 // int i = 1; 22 // // i<=100 23