一、概要

在c语言中,if,switch,for,while,do-while可以相互间多次嵌套。

if(){

  for()

  {

    for()

    {

    }

  }

}

while()

{

  for(){

  }

  for(){

  }

}

break,continue只跳出当前循环,不会影响外重循环,不会因为内重循环跳出整个循环体,只影响与自己最近的一个循环。

for()

{

  for()

  {

      break;

  }

}

二、二重循环

#include "stdio.h"
void main()
{
int i,j;
for(i=;i<=;i++)
{
printf("---------------\n");
for(j=;j<=;j++)
{
printf("****************\n");
}
printf("---------------\n\n");
}
}

#include "stdio.h"
void main()
{
int i,j;
for(i=;i<=;i++)
{
for(j=;j<=;j++)
{
printf("*");
}
printf("\n");
}
}

*

**

***

****

*****

99乘法表

#include "stdio.h"
void main()
{
int i,j;
for(i=;i<=;i++)
{
for(j=;j<=i;j++)
{
printf("%dx%d=%d ",j,i,j*i);
}
printf("\n");
}
}

2.1、一重循环平行嵌套多重循环

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int i,j,k;
for(i=;i<=;i++)
{
for(j=;j<=;j++)
{
printf("*");
} for(j=;j<=;j++)
{
printf("@");
} printf("\n");
}
}

等腰三角形

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int i,j,k;
for(i=;i<=;i++)
{
for(k=;k<=-i;k++)
{
printf(" ");
} for(j=;j<=*i-;j++)
{
printf("*");
} printf("\n");
}
}
/*
1 1 4
2 3 3
3 5 2
4 7 1
5 9 0
*/

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int i,j,k;
for(i=;i<=;i++)
{
for(k=;k<=i-;k++)
{
printf(" ");
} for(j=;j<=-*i;j++)
{
printf("*");
} printf("\n");
}
}
/*
1 1 4 0 9 11-2*i
2 3 3 1 7 11-4
3 5 2 2 5 11-6
4 7 1 3 3 11-8
5 9 0 4 1 11-10 *********
*******
*****
***
*
*/

三、三重循环

百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,

用100文钱买一百只鸡,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。

公鸡 x 0-100/5

母鸡 y 0-100/3

小鸡 z 0-100*3

5*x+3*y+z/3==100&&z%3==0

x+y+z==100

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int x,y,z;
for(x=;x<=/;x++)
for(y=;y<=/;y++)
for(z=;z<=*;z++)
{
if((x*+y*+z/==)&&(z%==)&&(x+y+z==))
{
printf("x=%d y=%d z=%d\n",x,y,z);
}
}
}

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
//0-9
//XYZ
int x,y,z;
for(x=;x<=;x++)
{
for(y=;y<=;y++)
{
for(z=;z<=;z++)
{
printf("\n%d%d%d",x,y,z);
}
}
printf("\n");
}
}

四、菱形

/* Note:Your choice is C IDE */
#include "stdio.h"
#include <math.h>
void main()
{
int i=,j,k,r=; //r表示行数
for(i=-*r;i<=r;i++){
for(k=;k<=abs(i);k++)
{
printf(" ");
}
for(j=;j<=(*r+)-*abs(i);j++)
{
printf("*");
}
printf("\n");
}
}
/*
-4 -3 -2 -1 0 1 2 3 4
*/

五、菱形与函数

/* Note:Your choice is C IDE */
#include "stdio.h"
#include <math.h> //定义一个输出函数,用于重复向屏幕输出信息
//c表示参数,要输入的字符
//n表示重复次数
void out(char c,int n)
{
int i;
for(i=;i<=n;i++)
{
printf("%c",c);
}
} void main()
{
int i=,j,k,r=;
for(i=-*r;i<=r;i++){
out(' ',abs(i));
out('*',(*r+)-*abs(i));
printf("\n");
}
} /*
-4 -3 -2 -1 0 1 2 3 4
*/

六、空心菱形

#include "stdio.h"
#include <math.h>
void main()
{
int i=,j,k,r=; //r表示行数
for(i=-*r;i<=r;i++){ //控制行数
for(k=;k<=abs(i);k++) //控制空格
{
printf(" ");
}
for(j=;j<=(*r+)-*abs(i);j++) //控制星号与中间的空格
{
//如果是第一列或最后一列
if(j==||j==((*r+)-*abs(i)))
{
printf("*");
}else{
printf(" ");
}
}
printf("\n");
}
}

C语言 第六章 多重循环的更多相关文章

  1. C语言 第六章 多重循环练习

    一.循环输入 #include "stdio.h" void main() { char c; do { printf("我告诉你1+1=2\n"); prin ...

  2. java科学和艺术语言 第六章 课后编程

    家转载,为保留作者成果.转载请注明出处,http://blog.csdn.net/netluoriver,有些文件在资源中也能够下载!假设你没有积分,能够联系我索要. 1. package Sixth ...

  3. 新手小白入门C语言第六章:C运算符

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 小编将会为大家逐一介 ...

  4. OpenGL ES着色器语言之语句和结构体(官方文档第六章)内建变量(官方文档第七、八章)

    OpenGL ES着色器语言之语句和结构体(官方文档第六章) OpenGL ES着色器语言的程序块基本构成如下: 语句和声明 函数定义 选择(if-else) 迭代(for, while, do-wh ...

  5. “全栈2019”Java第二十六章:流程控制语句中循环语句do-while

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. C语言程序设计第六次作业——循环结构(2)

    C语言程序设计第六次作业--循环结构(2) 之前的博客园图片没处理好,对大家说一声抱歉.希望大家能够多多指出我的错误,我来认真修改 ^ - ^ !. (1)改错题 序列求和:输入一个正实数eps,计算 ...

  7. C/C++——C语言跳出多重循环方法

    c语言的break语句只能跳出离它最近的一层循环,但是我们有时候需要跳出多层循环,以下有几种跳出多重循环的方法: 1. 使用goto ; i < MAX1; i++) { ; j < MA ...

  8. Java语言程序设计(基础篇) 第六章 方法

    第六章 方法 6.2 定义方法 1.方法的定义由方法名称.参数.返回值类型以及方法体组成. 2.定义在方法头中的变量称为形式参数(formal parameter)或者简称为形参(parameter) ...

  9. Perl语言入门:第六章习题:处理用户所指定的名字并汇报相应的姓。

    37 print "\n----------------------------------_exercise_6_1--------------------------\n";  ...

随机推荐

  1. DBUtils 笔记

    一.DBUtils介绍  apache 什么是dbutils,它的作用 DBUtils是java编程中的数据库操作实用工具,小巧简单实用. DBUtils封装了对JDBC的操作,简化了JDBC操作.可 ...

  2. Android事件分发传递

    一.与触摸事件有关的几个方法 boolean dispatchTouchEvent(MotionEvent ev); 接收到触摸事件时,是否分发事件到下面的View 返回true:分发触摸事件 返回f ...

  3. Unity3D 脚本手册

    1.private Ray ray;  --定义射线 ray = Camera.main.ScreenPointToRay(Input.mousePosition);  --摄像机发出的射线投射鼠标到 ...

  4. 串口计时工具Grabserial简介及修改(添加输入功能)

    Grabserial是Tim Bird用python写的一个抓取串口的工具,这个工具能够为收到的每一行信息添加上时间戳. 如果想对启动时间进行优化的话,使用这个工具就可以简单地从串口输出分析出耗时. ...

  5. 谢欣伦 - OpenDev原创教程 - 服务端套接字类CxServerSocket

    这是一个精练的服务端套接字类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxServerSocket的使用如下(以某个叫做CSo ...

  6. 【转】WriteMessage的信息在AutoCAD中命令行中实时显示

    之前程序中有段发送信息到命令行上显示的代码,如下:     ed.WriteMessage("开始标注横断面高程,请稍候!");     但是发现命令行中并不马上显示,代码也明明运 ...

  7. 使用Junit等工具进行单元测试

    一.类的定义: 类是同一事物的总称,类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类. 二.Junit工具的使用: 1.首先新建一个项目叫JUnit_Test,我们编写一个 ...

  8. 介绍.NET 开发必备工具 .NET Portability Analyzer

    随着.NET的原来越开放,不仅仅是开源这么简单了,也意味着.NET程序员要关注越来越多的平台,涵盖.NET Mic Framework, Xamarin,Mono,.NET等等,从windows到li ...

  9. The Hacker's Guide To Python 单元测试

    The Hacker's Guide To Python 单元测试 基本方式 python中提供了非常简单的单元测试方式,利用nose包中的nosetests命令可以实现简单的批量测试. 安装nose ...

  10. 基于GIS的旅游辐射区人口统计

    在旅游规划中,考虑旅游景点周边的人口负载量是很重要的一个方面,这将直接影响资源的投入和配置,开发潜力和规模等.基于GIS可以将人口信息进行空间化的展示,还可以通过空间分析的方法计算出旅游景点辐射区的人 ...