c语言 多重循环 教案

合集下载

最新C++第6课多重循环教案资料

最新C++第6课多重循环教案资料

{ 控制空格的个数;
前一半; 后一半;
for (j=1;j<=I;j++) cout<<j; for (j=i-1;j>=1;j--) cout<< j;
cout<<endl;
}
p 10
P1121: N=3时,输出如下的图形:
edcba
54321
cba
321
a
1
分析:i从大到小,第i行的个数是2*i-1,第1行字母从ea对 应的数字从5-->1,用ASCII码来转换,5+961+96
p7
[例3] 编写程序,在屏幕上显示下列图形的n行,每行的个数是m,m、n均 由键盘输入(m<20,n<30),如:n=4, m=6 时输出如下的图形,第一行前 面没有空格。 ******
****** ****** ******
分每析行M:个若,不那考么虑n图行形可的用错计位数关控循k系=制环0,;空实而用格现直来的(接大打循印环一)个,矩每形行的的图个形数,也为可n以行, 用计数循环实现(小循环): 个数
cin>>n;
❖{怎样控制位置}
for (i=n;i>=1; i--)
{
for (j=1;j<=2*i-1;j++)
cout<<“#”;
cout<<endl;
}
p9
P1123: 分析:采用二重循环,大循环产生N行, 小循环产生每一行.
cin>>n; for ( i=1;i<=n;i++)
1 121 12321 1234321 123454321 12345654321 1234567654321 123456787654321 12345678987654321

【C语言基础精品】实验五多重循环

【C语言基础精品】实验五多重循环

班级:学号:姓名:成绩:实验五多重循环【实验目的】(1)掌握循环语句的嵌套形式(2)熟悉掌握break和continue语句的使用(3)学会显示图形的编程方法【实验内容】1.改错题找出100~200之间的全部素数有错误的源程序#include<iostream.h>void main(){int m,k,i,n=0;for(m=101;m<=200;m++){k=int(sqrt(m));for(i=2;i<=k;i++)if(m%i==0) {prime=false;}if(prime){printf(“%5d”,m);n=n+1;}if(n%10==0)printf(“\n”);}printf(“\n”);}运行结果:101 103 107 109 113 127 131 137 139 149151 157 163 167 173 179 181 191 193 1971992.程序填空题输出1000以内所有完数。

“完数”是指与其因子之和相等的数.例如6=1+2+3,即6是完数.输出完数按如下形式,例如,对于完数6,应显示:6=1+2+3.#include<stdio.h>void main(void){ int i,j,sum;for(i=2;i<=1000;i++){_______________;for(j=2;j<=i/2;j++)if(i%j==0)_______________;If ( _______________){printf(“%d=1”,i);for(j=2;j<=i/2;j++)if(i%j==0) printf(“+%d”,j);printf(“\n”);}}}运行结果:6=1+2+328=1+2+4+7+14496=1+2+4+8+16+31+62+124+2483.编程题(1)使用二重循环输出一图案*************************(2)将100元钱兑换成10元,5元,1元,编程要求不同的兑法数。

C语言 第7章 多重循环

C语言  第7章 多重循环

当 y10 <=10
循环变量y5赋初值y5=0 当 y5 <=20
y20*20+y10*10+ y5*5==100?
True
False
输出y20,y10,y5 的组合
y5++ y10++ y20++
例7.3代码
C语言案例教程
main( ) {
int a, b, c; for ( a=0;a<=5; a++) {
7.3 多重循环举例 C语言案例教程
• 【例7.3】银行换零钱。假定你拿1张百元钞票到银行换
零,要求是必须换成若干张20元、10元和5元。请编写程
序,找出所有可能的找零组合,如1张20元,5张10元,6
张5元。
定义循环变量y20,y10,y5
循环变量y20赋初值y20=0
当 y20 <= 5 循环变量y10赋初值y10=0
1 12 123 1234 12345 ……
循环变量x赋初值x=2
当 x <= n
先假设x是素数:flag=1
循环变量y赋初值y=2
当 y<x
True
x%y==0? False
flag=0 True
y++ flag==1?
False
输出x x++
• main()
•{

int x, y,n,flag;

scanf("%d", &n);

for ( x=2; x<=n; x++)
• 编程点拨:
– 首先要对2到n间的每个数进行一下判断,如果是素数,则输出,否则继续判断 下一个数。可以用一个循环来控制数从2变化到n(取循环变量为x)。

《双重FOR循环语句的应用》教学设计

《双重FOR循环语句的应用》教学设计
1.培养学生发现问题,解决问题,做到举一反三的能力。
2.进一步巩固本节内容
3、培养学生自主合作的能力
交流评价
梳理归纳
(5分钟)
1.教师引导学生评价
请学生对三个同学的表现以及对本节的知识点掌握情况给予评价,指出学生操作过程中做得比较好的方面和存在的主要问题,同时也对自己对本节内容掌握情况自评。
2.教师点评
3.回顾本节知识
字符图形的打印必须注意以下几点:
A、外循环控制行,内循环控制列(图形的个数)
B、左边不对齐的,每一行首字符要先定位后输出。
C、要找出要输出的图形(起始位置、字符个数、输出的数字字符)与行列变量之间的关系。
1.对四个同学的表现和对知识的掌握情况进行评价
2.领悟内涵,归纳总结,得出有关图形打印问题的一般规律。
(a)
* 5 5 5 5 5
* * * 4 4 4 4
* * * * * 3 3 3
* * * * * * * 2 2
* * * * * * * * * 1
(b)(c)
2.巡视辅导,发现问题。
3.由每组派一名同学写出代码并调试
1.完成四个图形的编程
2、发现问题、解决问题
3.同学之间相互协作解决问题
4.可借助于数学化学习平台用于上传下载微视频、教学课件、案例库、作品等学习资源
2.教学重点:掌握双重FOR循环语句的用法和格式,能够应用双重FOR循环语句实现对字符图形的打印。
3.教学难点:输出的字符图形与行列变量之间的关系
三、教学目标(知识,技能,情感态度、价值观)
1.知识与能力
(1)掌握双重FOR循环语句的格式和用法。
(2)学生能够应用双重FOR循环语句实现字符图形的打印。

第五章 C语言多重循环语句ppt课件

第五章  C语言多重循环语句ppt课件
scanf(“%f”,&Weight); /*第7个儿童的体重*/ total=total+ Weight; /*前7个儿童的总体重*/
scanf(“%f”,&Weight); /*第8个儿童的体重*/ total=total+ Weight; /*前8个儿童的总体重*/
scanf(“%f”,&Weight); /*第9个儿童的体重*/ total=total+ Weight; /*前9个儿童的总体重*/
unsigned n,sum=0; scanf(“%u”,&n); do { sum+=i ;
int i; float Weight, total=0, aver;
*输入N个儿童的体重并计算总体重*/
for(i=1;i<=N;i++) {
scanf(“%f”,&Weight); /*第i个儿童的体重*/ total=total+ Weight; /*i个儿童的总体重*/
}
aver=total/N;
scanf(“%f”,&Weight); /*第1个儿童的体重*/ total=total+ Weight; /*前1个儿童的总体重*/
scanf(“%f”,&Weight); /*第2个儿童的体重*/ total=total+ Weight; /*前2个儿童的总体重*/
scanf(“%f”,&Weight); /*第3个儿童的体重*/ total=total+ Weight; /*前3个儿童的总体重*/
/*10个儿童的平均体重*/
printf(“%d个儿童的平均体重是:%.2\n”,N,aver); }

c语言程序设计中多重循环的教学设计

c语言程序设计中多重循环的教学设计

计算机教学与教育信息化本栏目责任编辑:王力C 语言程序设计中多重循环的教学设计裴大容(武汉商学院,湖北武汉430056)摘要:C 语言由于应用面广,因此很多高校都会选择C 语言作为基础程序设计开发语言,但由于C 语言学习难点较多,因此学习效果不太好。

本文主要针对其中难点之一多重循环的教学,提出自己的见解和解决方法。

关键词:C 语言;教学难点;多重循环中图分类号:TP3文献标识码:A文章编号:1009-3044(2019)34-0153-03开放科学(资源服务)标识码(OSID):C 语言由于它既能直接进行面向高层的应用开发也可进行面向底层的系统开发,因此应用面广,是非常受欢迎的主流语言之一,因此很多高校在进行程序设计基础语言教学时都选择了C 语言。

但由于它的语法规则繁多,内容抽象,知识点多,所以存在很多知识点学生很难掌握,学习效果不太理想。

本文主要针对其中的多重循环教学中的难点问题提出个人的见解和解决问题的思路。

希望对同行或学习C 语言的人有所启发和帮助。

1多重循环教学中存在的问题因为循环结构是构成结构化程序设计的基本结构之一,在实际求解问题的过程中也常常遇到,比如输入全班同学的信息,求若干个数之和,求最大公约数,排序等等,因此循环结构是一个非常重要的知识点,必须掌握。

通常对于一重循环(也就是只包含一个完整循环结构的循环),只要把3个基本语句:while,dowhile 和for 语句的基本语法结构、流程讲清楚,然后通过典型案例加以分析、现场编程演示实现,最后再讲清楚while 和dow⁃hile 之间的区别,while 语句、dowhile 语句和for 语句之间如何转换,用特例转换演示一编,让他们彻底弄懂。

那么一重循环的知识点差不多就讲解完了,因为比较简单学生们通常都比较好掌握。

不会存在很大问题,如个别有问题就单独有针对性讲解就可以了。

但是一遇到多重循环,也就是含有二重或二重以上循环的问题,学生就很容易犯糊涂了。

C++第6课多重循环

C++第6课多重循环

cin>>n; for (i=n;i>=1; i--) { for (j=1;j<=2*i-1;j++) cout<<“#”; cout<<endl; }
{怎样控制位置}
p9
P1123: 分析:采用二重循环,大循环产生N行, 小循环产生每一行. cin>>n; for ( i=1;i<=n;i++) { 控制空格的个数; 前一半;
K是标记
cin>>n; k=0; if (n==1) cout<“no”; else {
范围可优化至int(sqrt(n))
找到一个约数,可以中断当前循环
for (i=2;i<=n-1;i++) if (n%i= =0) k=1; if (k==0) cout<<“yes”; else cout<<“no”; }
思路: for (i=1;i<=n;i++) { 求 i 的因子和,用S存放; if (s==i) cout<<i<<endl; } for (j=1;j<=i/2;j++) if (i% j==0) s=s+j;
上述做法的运算次数是:N*N 称为时间复杂度
1秒的运算次数=2^25==3.3*10^7(8位数)二重循环 10000*10000,所以上面的的算法只能到10000
if (a*a*a+b*b*b+c*c*c==m) cout<< m;
}
p2
水仙花数,也可以采用另外一种方法:
对三位数的三个数字进行穷举. 百位数字:1—9 十位数字:0---9 个位数字:0---9

第五课 多重循环结构程序设计

第五课 多重循环结构程序设计
2.2完成后,尝试输出: ***** **** *** ** *
2.星型三角形
2.3完成后,尝试输出: 0102030405 06070809 101112 1314 15
3.数字直角三角形
给出n(1≤n≤13),请输出一个直角边长度是n的数字直角三角形。例如,当n=5时 应该输出:
0102030405 06070809 101112 1314 15
成立 成立 成立 不成立
成立 成立 不成立
成立 不成立
循环体执行
进入内层循环 cnt=1:输出01 cnt=2:输出02 cnt=3:输出03 退出内层循环
输出换行 进入内层循环 cnt=4:输出04 cnt=5:输出05 退出内层循环
输出换行 进入内层循环 cnt=6:输出06 退出内层循环
输出换行 退出外层循环
输入 #1 3
输出 #1 9
感谢聆听
循环执行步骤及结果
当n=3时,循环是这样执行的:
循环层级
外层 内层 内层 内层 内层 外层 外层 内层 内层 内层 外层 外层 内层 内层 外层 外层
i的值 1 (初始)
1 2
2 3
3 4
i<=n? 成立
成立
成立 不成立
j的值
1 (初始) 2 3 4
1 (初始) 2 3
1 (初始) 2
j<n-i+1?
教师:Alvin
时间:2020年1月18日
关于本课
双重forห้องสมุดไป่ตู้环
1.星型长方形
尝试通过双层for循环,输出如下图形,注意尝试,长方形的长和宽取决于哪个变量。 ***** ***** *****
2.星型三角形

C语言程序设计中多重循环的教学设计

C语言程序设计中多重循环的教学设计

C语言程序设计中多重循环的教学设计作者:***来源:《电脑知识与技术》2019年第34期摘要:C语言由于应用面广,因此很多高校都会选择C语言作为基础程序设计开发语言,但由于C语言学习难点较多,因此学习效果不太好。

本文主要针对其中难点之一多重循环的教学,提出自己的见解和解决方法。

关键词:C语言;教学难点;多重循环中图分类号:TP3 文献标识码:A文章编号:1009-3044(2019)34-0153-03C语言由于它既能直接进行面向高层的应用开发也可进行面向底层的系统开发,因此应用面广,是非常受欢迎的主流语言之一,因此很多高校在进行程序设计基础语言教学时都选择了C语言。

但由于它的语法规则繁多,内容抽象,知识点多,所以存在很多知识点学生很难掌握,学习效果不太理想。

本文主要针对其中的多重循环教学中的难点问题提出个人的见解和解决问题的思路。

希望对同行或学习C语言的人有所启发和帮助。

1 多重循环教学中存在的问题因为循环结构是构成结构化程序设计的基本结构之一,在实际求解问题的过程中也常常遇到,比如输入全班同学的信息,求若干个数之和,求最大公约数,排序等等,因此循环结构是一个非常重要的知识点,必须掌握。

通常对于一重循环(也就是只包含一个完整循环结构的循环),只要把3个基本语句:while,dowhile和for语句的基本语法结构、流程讲清楚,然后通过典型案例加以分析、现场编程演示实现,最后再讲清楚while和dow-hile之间的区别,while语句、dowhile语句和for语句之间如何转换,用特例转换演示一编,让他们彻底弄懂。

那么一重循环的知识点差不多就讲解完了,因为比较简单学生们通常都比较好掌握。

不会存在很大问题,如个别有问题就单独有针对性讲解就可以了。

但是一遇到多重循环,也就是含有二重或二重以上循环的问题,学生就很容易犯糊涂了。

比如:面对具体问题时,他们不知道该如何嵌套,内外层循环的次数如何控制,循环判断条件特别是内层的循环判断条件该如何设置,流程如何走等等。

2024版教学设计《多重循环(循环的嵌套)

2024版教学设计《多重循环(循环的嵌套)

THANKS
感谢观看
套的循环结构。
多重循环的作用是可以处理二维 或多维数组,实现更复杂的算法
和逻辑。
通过多重循环,可以遍历多个数 据集,对每个数据集执行相同的 操作,提高代码的复用性和效率。
嵌套循环原理及实现
嵌套循环的原理是在一个循环体内嵌 入另一个循环体,内层循环体在外层 循环体的每次迭代中都会执行一次。
嵌套循环的执行顺序是从外层循环到 内层循环,依次执行每个循环体的代 码,直到满足退出条件为止。
明确问题需求
首先,需要明确问题背景和需求, 确定需要使用多重循环来解决的 实际问题。
确定循环变量和条件
为每个循环选择合适的循环变量, 并确定循环的起始、终止条件中,编写实现具体功 能的循环体语句,如数据处理、 条件判断等。
调试和优化
完成算法设计后,进行调试以确 保算法的正确性,并根据需要优 化算法性能。
并行化处理
对于可以并行处理的问题,可以使用多线程或分布式计算等技术来提高 算法的执行速度。例如,在文件搜索或图像处理中,可以将任务划分为 多个子任务并行处理。
优化数据结构
选择合适的数据结构可以简化算法的实现并提高执行效率。例如,在矩 阵运算中,使用稀疏矩阵存储和计算可以节省空间和时间成本。
06
课程总结与拓展延伸
02
多重循环基本概念
循环结构概述
循环结构是程序设计中一种重 要的控制结构,用于重复执行 某段代码,直到满足特定条件 为止。
循环结构通常由循环变量、循 环体和循环控制语句组成。
常见的循环结构有for循环、 while循环和do-while循环等。
多重循环定义及作用
多重循环是指在一个循环体内包 含另一个或多个循环体,形成嵌

C程序设计 多重循环的应用(教案)

C程序设计 多重循环的应用(教案)
3、本章总结
备注
思考与
练习
试分析研究多重循环结构的执行次数、循环嵌套如何避免交叉书写和执行。
教学后记
穷举法:(水仙花数、特征数。。。。)
搬砖问题。36人搬36块砖,男人1人搬3块,女人1人搬2块,小孩3人搬1块。男人、女人、小孩都必须有,问各有几人?
马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,在一家饭馆吃饭花了50先令;每个男人花3先令,每个女人花2先令,每个小孩花1先令;问男人、女人和小孩各有几人?
课题
多重循环应用
课型
实训课
教学时数
2
教学目的
多重循环的退出、循环条件的控制条件的控制
采用教法
案例法
学法建议
讨论交流
教学
过程
设计
(复习内容、课题引入、主要知识点序列或操作步骤教法设计、时间分配等)
1、多重循环及其应用
多重循环结构及执行过程、注意事项,有关算法。
2、典型循环算法分析

C语言之多重循环

C语言之多重循环

多重循环1、s=1+ (1+2)+(1+2+3)+……前20项的和。

(6_1.c)2、输出9*9口诀。

(6_2.c)【程序分析】分行与列考虑,共9行9列,i控制行,j控制列。

分析行数和输出项之间的关系。

3、百鸡百钱:公鸡5元1只,母鸡3元1只,小鸡3只1元。

现用100元买了100只鸡,编程求公鸡、母鸡、小鸡各买了多少只?(要求至少1只。

)(6_3.c)【程序分析】假设公鸡m1只,母鸡m2只,小鸡m3只,确定各自的变化范围;1<=M1<20; 1<=m2<33; 3<=m3<=96(m3=100-m1-m2);利用多重条件;条件判断:(5*m1+3*m2+m3/3==100)&&(m3%3==0)4、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?并求出如此组成的最大四位数。

(6_4.c)【程序分析】可填在千位、百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

最大数字应该满足千位>百位>十位>个位5、勾股数:如果正整数x,y,z,满足,sqr(x)+sqr(y)=sqr(z),则称(x,y,z)为一组勾股数。

编程求解500以内的勾股数有多少组,分别是什么?(6_5.c)【程序分析】最短边不超过360,(?)结果:383个数(6_6.c)6、判断101-200之间有多少个素数,并输出所有素数。

【程序分析】素数的判断:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

注意头文件要包含#include <math.h>++++++++++++++++++++++++++++++++++++++++++++++++++++7、求出所有满足下列条件的二位数,将此二位数的个位数字和十位数字进行交换,可得到一个新的数,要求新数和原数之和小于100。

C语言学案(循环3)

C语言学案(循环3)
讲解法、
习题法
通过点名方式对学生提出问题,让学生勇于表达自己的观点,不断提升口头表达能力;
讨论问题,让学生勇于表现自已的想法
教学重点
1.break的使用2.continue语句的使用
教学难点
break语句和continue语句的区别
教学资源
教学后记
汨罗市职业中专学校教学方案设计(正页)
教学程序
重、难点
printf(" ");
for (k=1;k<=i;k++)
printf("%4d",i);
printf("\n");
}
3.int i,sum=0;
for(i=2;i<10;i++)
{if(i%2!=0) continue;
sum+=i;
}
printf(“%d\n”,sum);
4.int i;
for (i=4;i<=10;i++)
}
s=s+k;
}
printf("s=%d\n",s);
6.int i=1,s=3;
do
{ s+=i++;
if (s%7==0)
continue;
else
++i;
} while (s<15);
printf("%d\n",i);
}
程序填空题:
1.下面程序的功能是:输出100以内能被3整除且个位数为6的
所有整数,请填。
#include <stdio.h>
main( )

4《多重循环》教学设计模板

4《多重循环》教学设计模板
新课学习
任务二多重循环的执行过程
1.首先计算“表达式1”的值。
2.计算表达式2的值。如果结果为真,则进入第3步,如果为假,则进入第5步。
3.执行“{}”内的内层循环,内层循环体执行完后。
4.计算表达式3,转回第2步。
5.结束循环,执行多重循环后面的语句。
注意:
一个循环的循环体中又包含另一个循环,称为循环嵌套。这个嵌套重复下去,就是多重循环,也称为嵌套循环。前面所介绍的3种循环(while、do---while、for)可以相互嵌套,自由组合。
思考新问题
能够让学生持有怀疑精神的态度,进行探究式的学习,自主找到解决问题的方法。
教学后记
(反思)
教师结合学生完成实例的情况,对本节课的教学过程进行小结,指正学生在源程序书写中存在的问题,提醒同学在使用多重循环时容易出现的问题。
板书设计
双绞线的应用
一、双绞线的特性及种类
二、双绞线的线序标准和插头
1.RJ-45插头的接线标准:
为学生讲解多重循环的执行过程,学生根据教师的讲解画出流程图,教师指出学生所犯的错误并给出正确的流程图。帮助学生正确理解执行过程,加深他们的记忆。
观察思考并且总结。
本节课教学的重点。在教学时,教师要通过生动的讲解力求使学生将执行过程记住,为下一步学习奠定基础。
新课学习
任务三循环的嵌套
嵌套的另外几种形式
3.教师作为学生学习过程中的指导者、参与者、合作者,走到学生中间,参与到学生的实践中。
4.归纳总结本课的内容,再次强调重点和难点。
思考、理解并做笔记。
相互学习讨论并互相帮助。
本节课教学的重点,也是难点。通过教师的讲解,使学生明晰方法步骤。
巩固练习
用*打印一个5行5列的正方形。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内循环中第一部分用循环打印空格确定打印字符的初始位置,第二部分确定每行打印符号的个数
3、该题行数i与列数j的关系是j<=i
代码
#include<stdio.h>
main()
{
int i,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf(" ");
for(j=1;j<=i;j++)
****
***
**
*
9 8 7 6
5 4 3
2 1
0
课程名称
多重循环——文本作图问题
教材分析
重点
熟练掌握循环的嵌套,并能用双重循环结构编写有关文本作图的程序
难点
对双重循环的外循环和内循环的理解与应用
教学目标
知识目标:巩固循环的嵌套,掌握利用循环嵌套解决文本作图问题的程序设计方法
能力目标:培养学生分析问题、解决问题的能力,训练学生逻辑思维和判断能力
发展目标:教给学生灵活的思维方法,培养学生的学习兴趣和勇于探索、勇于创新的精神,提高综合素质
教法
讲授、演示与学生自己编程并演示
教具
多媒体(ppt)
教学过程
一、复习多重循环
1、循环的嵌套
一个循环体内包含另一个完整的循环结构,称为循环的嵌套。
while语句、do-while语句和for语句都可以互相嵌套,甚至可以多层嵌套。例如:
while( )
{
for( )
{
}
}
for( )
{
for( )
{
}
*****
***
*
1
22
333
……
999999999
1
121
12321
1234321
……
12345678987654321
三、新课内容
1、现场编程
例1、
输出以下图形
*
**
***
****
分析
1、该问题用二重循环实现
2、外循环控制输出行数,for(i=1;i<=n;i++)
内循环实现输出列数,for(j=1;j<=m;j++)
……
12345678987654321
行数(i)
空格数(9-i)
前半段数字(i)
后半段数字(i-1)
1
2
3
4
5
6
7
8
9
8
7
6
5
4
3
2
1
0
1
2
3
4
5
6
7
8
9
01Leabharlann 2345
6
7
8
代码
#include<stdio.h>
void main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=9-i;j++)
代码
#include<stdio.h>
main()
{
int i,j,k;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
}
2、拓展练习
输出以下图形
1
121
12321
printf(" ");
for(j=1;j<=i;j++)
printf("%d",j);
for(j=i-1;j>=1;j--)
printf("%d",j);
printf("\n");
}
}
例2、
输出以下图形
*
***
*****
*******
*****
***
*
行数
(i)
空格数
(abs(i))
字符个数(2*(n-abs(i))-1
}
2、二重循环
假设外循共循环m次,内循环共循环n次,则:
•内外循环用到的循环变量名不能相同
•外循环每循环1次,内循环需要完成整个n次循环
•内循环的循环体共执行m×n次
二、新课引入
给出各种图片,引发学生的兴趣。
*
**
***
****
*
**
***
****
*
***
*****
*******
*
***
*****
*******
-3
-2
-1
0
1
2
3
3
2
1
0
1
2
3
1
3
5
7
5
3
1
代码
#include<stdio.h>
#include<math.h>
void main()
{
int i,j;
for(i=-3;i<=3;i++)
{
for(j=1;j<=abs(i);j++)
printf(" ");
for(j=1;j<=2*(4-abs(i))-1;j++)
printf("*");
printf("\n");
}
}
四、课堂总结
1、外循环控制图形的行数
2、内循环的第一部分控制输出字符的首位置,
第二部分控制输出字符的个数
3、用printf("\n")语句换行
4、如果关于x轴或y轴对称,循环变量从
-(n-1)/2到(n-1)/2,n为行数或列数。
五、课后作业
利用双重循环结构打印所示图形
printf("*");
printf("\n");
}
}
例3、
输出以下图形
*
***
*****
*******
分析
1、该问题用二重循环实现
2、外循环控制输出行数
内循环中第一部分用循环打印空格确定打印字符的初始位置,第二部分确定每行打印符号的个数
3、本题图形的规律:每行“*”的个数与行数i的关系是2*i-1
3、该题行数i与列数j的关系是j<=i
代码
#include<stdio.h>
main()
{
int i,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
例2、
输出以下图形
*
**
***
****
分析
1、该问题用二重循环实现
2、外循环控制输出行数
相关文档
最新文档