Part1-ch2下-循环
人教版数学高一-人教A必修三 1.2“循环(结构)语句学习要点指津.

“循环(结构)语句”学习要点指津山东 黄丽生一 知识点1. WHILE 语句WHILE 语句的一般格式是 对应的程序框图是说明:计算机执行此程序时,遇到WHILE 语句,先判断条件是否成立,如果成立,则执行WHILE 和WEND 之间的循环体,然后再判断上述条件,再执行循环体,这个过程反复执行,直到某一次不符合条件为止,这时不再执行循环体,将跳到WEND 语句后,执行WEND 后面的语句。
2、UNTIL 语句UNTIL 语句的一般格式是 对应的程序框图是说明:计算机执行UNTIL 语句时,先执行DO 和LOOP UNTIL 之间的循环体,然后判断条件是否成立,如果不成立,执行循环体。
这个过程反复执行,直到某一次符合条件为止,这时不再执行循环体,跳出循环体执行LOOP UNTIL 后面的语句。
3、当型循环与直到型循环的区别(1)当型循环先判断后执行,直到型循环先执行后判断; (2)当型循环用WHILE 语句,直到型循环用UNTIL 语句; (3)对同一算法来说,当型循环和直到型循环的条件互为反条件。
二 典型例题分析例1.运用当型和直到型两种循环结构画出求33310021+++ 值的程序框图.算法分析:欲求33310021+++ 只需一个累加变量和一个计数变量,将累加变量的初始值设为0,计数变量的值可以从1—100. 程序框图:(当型循环) (直到型循环)例2.设计一个计算1×3×5×7×…×99的算法,用两种循环语句编写算法程序。
解:算法如下: 程序(WHILE 语句)如下: 第一步:s =1; 第二步:i =3; 第三步:s =s ×i ; 第四步:i =i +2;第五步:如果i ≤99,那么转到第三步; 第六步:输出s ;用UNTIL 语句表示这一程序例3.设计一个求25个数的算术平均数的算法,用两种循环语句编写其程序分析:可用一个循环依次输入25个数,并将它们的和存在一个变量S中,最后用S除以25即可得到这25个数的平均数。
ae常用循环表达式

ae常用循环表达式AE常用循环表达式在Adobe After Effects(简称AE)中,循环是一种非常常见的操作,它可以让我们实现各种复杂的动画效果。
而循环表达式则是实现这些循环的关键。
本文将介绍AE常用的循环表达式,并详细解释其用法和应用场景。
一、for循环表达式for循环表达式是AE中最基本也是最常用的循环表达式,它的语法如下:for(起始值; 条件; 步进值){// 循环执行的代码}其中,起始值表示循环的初始值,条件表示循环的终止条件,步进值表示每次循环后的增量或减量。
下面是一个示例:for(i=0; i<10; i++){// 执行某些操作}这个循环表达式表示从0开始,每次增加1,直到i小于10为止。
可以根据实际需求修改起始值、条件和步进值来实现不同的循环效果。
二、while循环表达式while循环表达式是另一种常见的循环表达式,它的语法如下:while(条件){// 循环执行的代码}while循环表达式会在每次循环之前先判断条件是否成立,如果成立则执行循环代码,否则退出循环。
下面是一个示例:i = 0;while(i < 10){// 执行某些操作i++;}这个循环表达式表示当i小于10时,执行某些操作,并在每次循环结束后将i增加1。
可以根据实际需求修改条件来控制循环的次数。
三、do-while循环表达式do-while循环表达式是一种先执行循环代码再判断条件的循环表达式,它的语法如下:do{// 循环执行的代码}while(条件);do-while循环表达式会先执行一次循环代码,然后再判断条件是否成立,如果成立则继续执行循环,否则退出循环。
下面是一个示例:i = 0;do{// 执行某些操作i++;}while(i < 10);这个循环表达式表示先执行某些操作,然后判断i是否小于10,如果小于10则继续执行循环,否则退出循环。
可以根据实际需求修改条件来控制循环的次数。
flash动画制作——循环语句

首页 末页 向上 向下 返回 结束 调音
《Flash 动画制作》
循环语句
while语句 do while语句 for语句
首页 末页 向上 向下 返回 结束 调音
《Flash 动画制作》
在Flash中可以通过循环语句重复执行某个动作,其中 最常用的循环语句包括while、do while和for。这些语句 都位于“动作”面板“语句”选项中的“条件/循环”选 项中,如图13-12所示。
首页 末页 向上 向下 返回 结束 调音
《Flash 动画制作》
for语句
和while语句一样,for语句也可以创建循环,决定循 环次数的变量可在for语句中预先定义好。使用for语句创 建循环的语法格式如下: for(init; condition; next){ statement(s); } 其中: init为赋值表达式,它表示一个在开始循环序列前要 执行的表达式。 condition是指计算结果为true或false的表达式。在 每次循环迭代前计算该条件;当条件的计算结果为false 时退出循环。
首页 末页 向上 向下 返回 结束 调音
《Flash 动画制作》
例如,语句: snow=1 do { gotoAndPlay(2); snow+=1; } while (snow<300); 表示首先为snow赋予一个初值“1”,在do while语句 中的条件为“snow<300”,当snow的值小于300时就继续执 行语句“gotoAndPlay(2);”。在第一次循环时将先执行语 句“gotoAndPlay(2);”,然后通过语句“snow<300”对 “snow”的值进行判定。如果不符合该条件,就终止循环, 如果符合该条件,继续循环。
用有关的循环加工指令

用有关的循环加工指令循环加工指令是计算机程序中常用的一种指令类型,它可以帮助程序员通过循环操作来完成重复性的任务。
在编写程序时,经常需要处理大量的数据或执行重复性的操作,这时就可以使用循环加工指令来简化代码并提高效率。
一、循环加工指令概述循环加工指令通常由三个部分组成:循环开始部分、循环体部分和循环结束部分。
其中,循环开始部分用于初始化计数器或设置条件变量;循环体部分用于执行具体的操作;而循环结束部分则用于更新计数器或判断条件变量是否满足结束条件。
常见的循环加工指令有以下几种:1. for 循环for 循环是最常用的一种循环加工指令,它通常用于对一个范围内的数据进行遍历或执行重复性任务。
for 循环由三个表达式组成:初始化表达式、条件表达式和更新表达式。
例如:```for (int i = 0; i < n; i++) {// 执行具体操作}```上述代码中,初始化表达式 `int i = 0` 初始化计数器 `i` 的值为 0;条件表达式 `i < n` 判断计数器 `i` 是否小于 `n`;更新表达式 `i++` 在每次循环结束后将计数器 `i` 的值加 1。
2. while 循环while 循环也是一种常见的循环加工指令,它通常用于在满足特定条件的情况下执行重复性任务。
while 循环只有一个条件表达式,例如:```while (i < n) {// 执行具体操作i++;}```上述代码中,只有一个条件表达式 `i < n` 判断计数器 `i` 是否小于 `n`,如果满足条件则执行循环体内的操作,并在每次循环结束后将计数器`i` 的值加 1。
3. do-while 循环do-while 循环与 while 循环类似,不同之处在于它先执行一次循环体内的操作,再判断是否满足条件。
例如:```do {// 执行具体操作} while (i < n);```上述代码中,先执行一次循环体内的操作,然后判断条件表达式 `i < n` 是否成立。
c51汇编语言循环指令汇编语言循环指令loop

c51汇编语言循环指令汇编语言循环指令loop在C51汇编语言中,循环指令(loop)是一种非常重要的控制流程语句,它允许程序反复执行一段指定的代码块,直到满足特定条件后才跳出循环。
本文将介绍C51汇编语言中的循环指令loop的使用方法和注意事项。
一、循环指令loop的基本语法及功能在C51汇编语言中,循环指令loop的基本语法如下:```loop: ;循环标签;循环体代码;循环控制代码sjmp loop ;无条件跳转到循环标签loop处```循环指令loop的功能主要分为两个部分,即执行循环体代码和控制循环的循环控制代码。
循环指令的循环标签用于标识循环的起点,在指令执行过程中,循环体代码将会被反复执行,直到循环控制代码指定的条件满足后才跳出循环。
二、循环指令loop的应用场景循环指令loop在C51汇编语言中具有广泛的应用场景,下面将列举其中的几种常见情况。
1. 循环计数当需要重复执行一段代码,且重复次数已知或可确定时,循环指令loop可以用于循环计数。
通过在循环控制代码中对计数器进行递减或递增操作,并在特定的计数值达到时跳出循环,从而实现循环计数的功能。
```MOV R1, #10 ;设置循环计数器初值为10loop:;循环体代码...DJNZ R1, loop ;循环计数器递减,若不为0则跳转至循环标签loop```上述代码示例中,循环计数器R1的初值被设置为10,当循环体代码执行完毕后,通过DJNZ指令递减循环计数器R1的值,若其不为0,则跳转至循环标签loop处,继续执行循环体代码,直到循环计数器的值递减至0。
2. 条件判断循环指令loop还可以用于条件判断,当满足特定条件时继续循环执行,不满足条件时跳出循环。
条件判断可以通过寄存器或内存中的值进行,根据不同的条件设置控制循环的条件语句。
```loop:;循环体代码...JNZ loop ;若条件满足,则跳转至循环标签loop处```上述代码示例中,JNZ指令用于判断特定条件是否满足,若满足则跳转至循环标签loop处,继续执行循环体代码,否则跳出循环。
循环开始指令和循环结束指令

循环开始指令和循环结束指令
XXXXX XXXXX
循环开始指令和循环结束指令
项目七: PLC功能指令应用
指令名称 助记符 指令代码位数
操作数 S(•)
程序步
循环开始指令 FOR
FNC08 (16)
K、H、KnX、KnY、KnM、 3步(嵌套5
KnS、T、C、D、V、Z
层)
2、FOR和NEXT指令必须成对使用,只有 在FOR~NEXT指令之间的程序(利用源 数据指定的次数)执行几次后,才处理 NEXT指令以后的一步;
3、循环次数在FOR后的数值指定。循环次数 范围为n=1~32767时有效。如循环次数<1时, 被当作1处理,FOR-NEXT循环一次;
1、循环指令可以反复执行某 一段程序,只要将这一段程 序放在FOR-NEXT之间,待执 行完指定的循环次数后,才 执行NEXT下一条指令。循环 程序可以使程序变得简炼
循环结束指令 NEXT
FNC09
无
1步
功 循环指令可反复执行某段程序,只要将这
能
一段程序放在FOR-NEXT间,待执行完指定 的循环次数后,才执行NEXT下一条指令。
指令格式
项目七: PLC功能指令应用
1.循环开始FNC08 FOR
指令编号 及助记符
2.循环结束FNC09 NEXT
指令用法
项目七: PLC功能指令应用
次的过程中,则[B] 的程序执行6次,所 以A循环总计被执行 了4×6×7=168次。 然后向NEXT指令(3) 以后的程序转移;
(1)单独一 个循环[A]执 行的次数
(2)循环B执行次 数(不考虑C循环)
(3)[C]的程 序循环次数由 K4指定为4次
循环过程简易知识点总结
循环过程简易知识点总结1. while循环while循环是最基本的一种循环形式,它允许程序重复执行一系列语句,直到条件不再满足为止。
while循环的语法通常如下:```while (条件) {// 循环体}```在这个例子中,条件是一个布尔表达式,如果条件为真,则执行循环体,然后再次检查条件。
如果条件为假,则循环结束,程序继续往下执行。
在使用while循环时,需要注意条件是否能够最终变为假,否则可能导致死循环的情况发生。
2. for循环for循环是另一种常用的循环形式,它允许程序按照一定的次数重复执行一系列语句。
for循环的语法通常如下:```for (初始化; 条件; 更新) {// 循环体}```在这个例子中,初始化是在循环开始前执行的语句,条件是每次循环前检查的布尔表达式,更新是在每次循环后执行的语句。
for循环的执行流程通常是:首先执行初始化;然后检查条件,如果条件为真,则执行循环体,然后执行更新,再次检查条件;如果条件为假,则循环结束,程序继续往下执行。
3. do-while循环do-while循环是一种后测试循环,它允许程序至少执行一次循环体,然后根据条件决定是否继续执行。
do-while循环的语法通常如下:```// 循环体} while (条件);```在这个例子中,循环体会至少执行一次,然后执行条件检查。
如果条件为真,则继续执行循环体,然后再次检查条件;如果条件为假,则循环结束,程序继续往下执行。
循环的应用循环在编程中有着广泛的应用,它可以用来处理诸如数组遍历、文件读取、数据处理等各种任务。
下面我们将介绍一些循环的常见应用场景。
1. 数组遍历循环可以用来遍历数组中的元素,实现对数组的一系列操作。
例如,可以使用for循环遍历数组,并对每个元素执行特定的操作:```int[] arr = {1, 2, 3, 4, 5};for (int i = 0; i < arr.length; i++) {// 对数组元素执行操作}```在这个例子中,for循环依次遍历数组arr中的每个元素,并执行指定的操作。
PROE 3.0 详细教程(2)
第2章 简单形体的数字化造型方法如果说前一章帮助我们认识了Pro/ENGINEER Wildfire3.0基本概貌的话,那么本章将引导读者进一步跨入Pro/ENGINEER环境下的数字化造型设计殿堂。
本章主要内容包括:z产品数字化模型的意义及Pro/ENGINEER环境下的造型设计方法z基于特征的三维形体造型方法及使用Pro/ENGINEER零件和组件模块进行造型设计的一般操作步骤z草绘截面的基本步骤及常用草绘特征创建和编辑工具的基本用法z用拉伸特征工具创建基本特征和构造特征、操控板的使用及相关属性设置z阵列、镜像、倒圆角、倒圆、抽壳和唇等特征工具的用法和技巧z跨元件的曲线提取和曲面复制技术与应用z数字化三维模型的浏览操作及初识Pro/ENGINEER模型渲染等。
2.1 产品数字化设计中的造型方法1.三维数字化模型及意义利用数字化设计工具进行产品设计的主要目的是通过三维模型来表达设计师的设计意图。
在Pro/ENGINEER环境下构建的三维模型不同于传统的实物模型,这是一种基于计算机软硬件技术的产品数字化表达方式,通常将这种模型称为三维数字化模型或简称为三维模型。
三维数字化模型不仅可用来表述产品的外观形态和功能结构,也可以为产品的评估、运动学和动力学分析、干涉检查、产品展示以及数字化加工等提供数字化原型(digital prototype)或数字化样机(digital mock-up)。
数字化原型主要用于概念设计和方案评估等前期设计阶段,在一定程度上替代实物模型,以降低设计成本。
数字化样机包含了产品外观、细节、内部结构、构件以及产品材料、加工属性等产品三维数字化模型,可用于产品的数字化制造和产品展示等。
2.基于Pro/ENGINEER的产品数字化造型方法产品造型(modeling)设计是产品数字化设计的核心。
在Pro/ENGINEER环境下,产品的数字化造型主要是利用该软件系统提供的菜单和工具图标来实现的。
ch2part1-密码学历史-09
1940年的开始策划演习进攻珍珠岛。1941年12月7日凌晨,从六艘航空 母舰上起飞的第一攻击波183架飞机,扑向珍珠港。7时53分,发回“虎、 虎、虎”的信号,表示奇袭成功。随即第二攻击波的168架飞机发动攻 击。仓促应战的美军损失惨重,8艘战列舰中被击沉4艘,其余都受重创; 6艘巡洋舰和3艘驱逐舰被击伤,188架飞机被炸毁,约2400人死亡,近 2000人受伤。 日本只损失了29架飞机和55名飞行员。
密件从柏林经美国海底电缆送到了华盛顿,英军破译 得到密电内容:德国将在1917年2月1日重新开始“无 限制潜艇战”,用潜艇攻击战时包括中立国在内的海 上商运船;如果美国拒绝接受无限制潜艇战的话,就 争取墨西哥政府作为反美的军事同盟国,并承诺帮助 墨西哥从美国手中夺回得克萨斯、新墨西哥和亚利桑 那三州。德国还要墨西哥说服日本共同进攻美国,德 国将提供军事和资金援助。
2021/4/7
9
广东工业大学 计算机学院
齐默尔曼电报
信息安全研究所
2021/4/7
2月27日,美总统威尔逊与国务卿商定公开发表这份电报,造 成美国上下群情激愤。而近2月底,载有美国国民的英国班轮 “拉科尼亚号”没有接到警告就被鱼雷击沉。3月中,美国船 舶“孟菲斯城号”和“伊利诺斯号”也被击沉,又死了不少 人。
2021/4/7
22
广东工业大学 计算机学院
计算机加密(续)
信息安全研究所
1976年,当时在美国斯坦福大学的迪菲 (Diffie)和赫尔曼(Hellman)两人提出了公开 密钥密码的新思想(论文“New Direction in Cryptography”),把密钥分为加密的公钥和 解密的私钥,这是密码学的一场革命。
fortran基础知识1----循环
fortran基础知识1----循环do循环结构使得⼀个语句或⼀系列语句,以进⾏迭代,当⼀个给定的条件为真。
语法do循环的⼀般形式是:do var = start, stop [,step]! statement(s)…end do这⾥,循环变量var应该是⼀个整数start 是初始值stop 是最终值步骤step是递增,如果此被省略,则变量var以单位增加跳出循环Fortran中跳出循环的两个命令为exit和cycle,exit表⽰跳出离命令最近的循环,cycle表⽰结束此次循环并开始下⼀次循环。
pause:程序执⾏到pause 时,会暂停执⾏,直到⽤户按下Enter键才会继续执⾏。
continue这个命令没有实际的⽤途,它的功能就是继续向下执⾏程序,相当于python中的pass。
stop⽤来结束程序执⾏。
cycle命令可由略过循环的程序模块中,相当于python和C中的continue,直接跳过后⾯的所有代码,然后开始下⼀次循环。
exit的功能是可以直接跳出⼀个正在进⾏的循环,不论是do 循环还是do while 循环,相当于python和C中的break。
1 program sime23implicit none4 integer :: tn56 tn=27 print_tn : do8 print *, tn9 tn = tn+210if (tn>=200) exit print_tn11 end do print_tn12 pause1314 end1 program odd_num23implicit none4 integer :: num,num_odd5 print *, 'Input data number:'6 read *,num78 num_odd = 0910do11 num = num - 11213if (num<0) then14 exit15 elseif (mod(num,2)==0) then16 cycle17else18 num_odd = num_odd + 119 endif202122 print *, num23 enddo2425 print *, 'The number of odd number is',num_odd 2627 pause2829 end如果输⼊20,输出结果为:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11
可以用goto控制嵌套循环的折断
for(int i = 1; i <= 9; i++) { for(int j = 1; j <= 9; j++) { if(i * j > 10) goto END; printf("%d \t", i * j); } printf(" \n"); } END: ;
int d, sum = 0; for(int i = 1; i <= 10; i++) { scanf("%d", &d); if (d <= 0) break; sum += d; } printf("sum: %d \n", sum);
4
break辅助的while语句、do-while语句、for语句折断效果是等 价的。
F
17
在嵌套循环中,内层循环体里的continue接续内层循环流程。 while (…) { … while(…) { … continue; …; } … }
18
用goto语句控制循环流程的接续
while (...) { ...... ... goto END; ...... END: ; }
14
等价于:
P
A
T F
C语言中continue辅助 while语句控制的循环流程
C语言中continue辅助dowhile语句控制的循环流程 A1 T P’ F A2 P F T
T
A2 F P’ A1
P F A P F
T
T
15
continue辅助for控制的流程
int d, sum = 0; for(int i = 1; i <= 10; i++) { scanf("%d", &d); if (d <= 0) continue; sum += d; } printf("sum: %d \n", sum);
F
5
用break语句协助改写for语句
int sum = 0; for ( int i = 1; i <= 100; i++ ) sum += i;
int sum = 0; 等价于: int i = 1; for ( ; ; ) //这种写法虽然编译不出错,但不提倡 { if(i <= 100) { sum += i; i++; } else break; } //
6
用goto语句控制循环流程的折断
int d, sum = 0; for(int i = 1; i <= 10; i++) { scanf("%d", &d); if(d <= 0) goto LOOP1; sum += d; } LOOP1: printf("sum: %d \n", sum); int d, sum = 0; for(int i = 1; i <= 10; i++) { scanf("%d", &d); if (d <= 0) break; sum += d; } printf("sum: %d \n", sum);
Chapter 2
循环流程控制方法
循环流程的基本形式 C语言其他循环流程控制语句 循环流程的嵌套及其优化 循环流程的折断和接续 循环流程控制方法的综合运用
1
常规的循环流程可以被折断或接续,即循环操作往往被 分成两部分,然后根据一定情况在相应的语句控制下, 在执行其中一部分操作后,结束整个循环(折断)或进 入下一次循环(接续),从而提高了循环流程的灵活性 。
12
循环流程的接续(continue)
C语言中提供了一种continue语句(通常在循环体中与if结合使 用),可以控制循环流程的接续。 执行到continue语句,就跳过循环体后部的任务,流程转向循 环的头部(对于 while 、 do-while 语句是进行下一次条件判断 ,对于for语句是计算表达式E)。
等价于:
1 2 -3 4 5 6 7 8 9 10 11 sum=63
int d, sum = 0; int i = 1; do { scanf("%d", &d); if (d <= 0) continue; sum += d; i++; } while (i <= 10); printf("sum: %d \n", sum);
A2 F P’ A1 A2 F P’ A1
T
T
P
F
T
P
F
T
2
循环流程的折断(break)
C语言中,break语句(通常在循环体中与if结合使用)可以控制 循环流程的折断。 执行到break语句,就立即结束循环流程。 例如,输入10个数,依次求和,遇到负数或0就提前终止输入 与求和。 1 2 1 int d, sum = 0, i = 1; 3 2 while(i <= 10) 4 -3 { -5 sum=3 scanf("%d", &d); sum=10 if (d <= 0) break; 这次运行, 这次运行, sum += d; 循环只执 循环只执 i++; 行了2次. 行了4次. } printf("sum: %d \n", sum);
fib(n) =
1 (n=2)
fib(n-2) + fib(n-1) (n≥3)
要想求第n项的值,必须先依次计算前面n-1项的值。 可以运用循环流程实现这类“依次”求解问题。
22
… int main() { int n; scanf("%d", &n); int fib_1 = 1, fib_2 = 1; for (int i = 3; i <= n; i++) { int temp = fib_1 + fib_2; //计算第i项 fib_1 = fib_2; //第i-1项为下一个i的第i-2项 fib_2 = temp; //第i项为下一个i的第i-1项 } printf("第 %d 个月有 %d 对兔子.\n", n, temp); return 0; }
24
例2.6 设计程序,求所有的三位水仙花数(一个三位水 仙花数等于其各位数字的立方和,比如,153 = 13 + 33 + 53)。 分析: 对于一个三位数,其百位数字可能为1, 2, ..., 9,其 十位与个位数字可能为0, 1, 2, ..., 9,假设分别用i, j, k表示,则这个三位数为i*100 + j*10 + k。根据题 意,可以通过依次改变i, j, k,列举出所有的三位数, 将符合条件的数输出。这是一种列举(又叫枚举)的方 法,可以运用循环流程实现其中的
8
9
10
1 2
2 4
3 6
4 8
5 10
6
7
8
9
for(int i = 1; i <= 9; i++) { int j; for(j = 1; j <= 9; j++) { if(i * j > 10) break; printf("%d \t", i * j); } if(i * j > 10) break; printf(" \n"); }
13
输入10个正数,累计和,如果输入负数,忽略。
int d, sum = 0; int i = 1; while (i <= 10) { scanf("%d", &d); if (d <= 0) continue; sum += d; i++; } printf("sum: %d \n", sum);
完成重复操作任务的程序,如100!
1*2*3*…*100?
–
–
编译器往往限制运算符的个数 繁杂
完成重复操作任务的程序,如n!(n往往在程序执行期 间才能确定)
?
程序设计中常常需要运用循环流程控制方法,甚至需要 综合分支流程控制方法,才能实现计算任务。对于一个 具体的计算任务,往往要先进行深入仔细的分析,才能 发现其中的重复性或带有选择性的重复性计算特征,然 后运用恰当的流程控制方法实现其中的流程控制。
C语言中break辅助 C语言中break辅助do- C语言中break辅助for while语句控制的循环流程 while语句控制的循环流程 语句控制的循环流程 循环变量初始化 A2 F P’ A1 P F T A1 T T P’ F A2 P T P T A1 T P’ F A2’ 表达式E F
23
以时间换空间 … int main() fib_2 = fib_1 + fib_2; { int n; //计算第i项,并作为下一个i的第i-1项 scanf("%d", &n); fib_1 = fib_2 - fib_1; int fib_1 = 1, fib_2 = 1; //第i-1项作为下一个i的第i-2项 for (int i = 3; i <= n; i++) { int temp = fib_1 + fib_2; //计算第i项 fib_1 = fib_2; //第i-1项为下一个i的第i-2项 fib_2 = temp; //第i项为下一个i的第i-1项 fib_2 } printf("第 %d 个月有 %d 对兔子.\n", n, temp); return 0; }