一、概要

在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. if [ "$变量1"x = "$变量2"x ]中x的含义

    问题:if [ "$变量1"x = "$变量2"x ]中x的含义是? 答:“x”字符可以为任意字符,用于防止变量为空时,某些版本的bash中会产生错误: 在一个 ...

  2. C及C++中typedef的简单使用指南

    又是在学数据结构的时候,发现了之前学习的知识遗忘很多,在发现对C/C++中关键字typedef的理解还是没有到位后,我翻阅了学C++用到的课本,又问了度娘,也看了不少关于typedef用法的博客.于是 ...

  3. cocoapods 命令

    1.使用CocoaPods a  新建一个项目,名字cocoapods

  4. .NET短距离领域通信-32feet.NET

    32feet.NET[http://32feet.codeplex.com/]是shared-source的项目,支持CF.net 2.0以及桌面版本.NET framework,提供短距离领域(pe ...

  5. .NET Core中合并Expression<Func<T,bool>>的正确姿势

    这是在昨天的 .NET Core 迁移中遇到的问题,之前在 .NET Framework 中是这样合并 Expression<Func<T,bool>> 的: public s ...

  6. ENode框架Conference案例分析系列之 - 业务简介

    前言 ENode是一个应用开发框架.通过ENode,我们可以方便的开发基于DDD+CQRS+EventSourcing+EDA架构的应用程序.之前我已经写了很多关于ENode的架构以及设计原理的文章, ...

  7. 剑指Offer面试题:19.包含Min函数的栈

    一.题目:包含Min函数的栈 题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数.在该栈中,调用min.push及pop的时间复杂度都是O(1). 这里我们要实现的就是min ...

  8. 剑指Offer面试题:25.二叉搜索树与双向链表

    一.题目:二叉搜索树与双向链表 题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向.比如输入下图中左边的二叉搜索树,则输出转换之后的 ...

  9. 推荐:图片轮播插件Nivo Slider

          因为项目需要一款切换样式多一些的轮播插件,不经意找到了NivoSlider,非常好用,比bootstrap要好用,而且样式丰富.值得注意的是,这款插件是在MIT协议下免费的.        ...

  10. Modern OpenGL用Shader拾取VBO内单一图元的思路和实现(3)

    Modern OpenGL用Shader拾取VBO内单一图元的思路和实现(3) 到上一篇为止,拾取一个VBO里的单个图元的问题已经彻底解决了.那么来看下一个问题:一个场景里可能会有多个VBO,此时每个 ...