一、概要

在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. Smart3D系列教程6之 《案例实战演练3——倾斜数据正射影像及DSM的生产》

    一.前言 Wish3D出品的系列教程中,前面两讲分别讲述说明了小物件的照片三维重建.大区域地形的三维重建,从照片的直接导入至软件到通过Excel表格将区块导入处理,从不同的模型类别.不同的导入方式演示 ...

  2. *HDU 1028 母函数

    Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ...

  3. CSS篇之动画(2)

    animation-name(自定义动画) name为动画名称.不要用中文,尽量用与动画相关的名称.元素所应用的动画名称,必须与规则@keyframes配合使用,因为动画名称由@keyframes定义 ...

  4. CSS的定位

        定位的基本思想:允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素.另一个元素甚至浏览器窗口本身的位置        一切皆为框   div.h1 或 p 元素常常被称为块级元素 ...

  5. u盘写入Ubuntu后容量变小,恢复方式

    具体请参考网址:http://jingyan.baidu.com/article/59703552e754e48fc00740ed.html 经过验证,方法是可以的

  6. 一个App完成入门篇(六)- 完成通讯录页面

    第五章和第六章间隔时间有点长,对不起大家了.下面继续. 本节教程将要教会大家如何加载本地通讯录. 导入项目 导入通讯录 自定义js模块 发送和订阅page消息 将要学习的demo效果图如下所示 1. ...

  7. ASP.Net MVC3 图片上传详解(form.js,bootstrap)

    图片上传的插件很多,但很多时候还是不能切合我们的需求,我这里给大家分享个我用一个form,file实现上传四张图片的小demo.完全是用jquery前后交互,没有用插件. 最终效果图如下: 玩过花田人 ...

  8. ES7之Decorators实现AOP示例

    在上篇博文CoffeeScript实现Python装潢器中,笔者利用CoffeeScript支持的高阶函数,以及方法调用可省略括符的特性,实现了一个类似Python装潢器的日志Demo.这只是一种伪实 ...

  9. %~dp0是什么意思

    转载自 www.cnblogs.com/yxsylyh 转载内容如下: cd /D %~dp0的意思如下: 更改当前目录为批处理本身的目录 比如你有个批处理a.bat在D:\qq文件夹下 a.bat内 ...

  10. Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析

    这是关于RecyclerView的第二篇,说的是如何自定义Item动画,但是请注意,本文不包含动画的具体实现方法,只是告诉大家如何去自定义动画,如何去参考源代码. 我们知道,RecyclerView默 ...