单重循环应PPT课件

上传人:桔**** 文档编号:591568558 上传时间:2024-09-18 格式:PPT 页数:30 大小:102KB
返回 下载 相关 举报
单重循环应PPT课件_第1页
第1页 / 共30页
单重循环应PPT课件_第2页
第2页 / 共30页
单重循环应PPT课件_第3页
第3页 / 共30页
单重循环应PPT课件_第4页
第4页 / 共30页
单重循环应PPT课件_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《单重循环应PPT课件》由会员分享,可在线阅读,更多相关《单重循环应PPT课件(30页珍藏版)》请在金锄头文库上搜索。

1、重庆邮电大学计算机科学与技术学院重庆邮电大学计算机科学与技术学院冯冯 潇潇2024/9/1815主要内容主要内容 循环的循环的3 3种基本表示种基本表示 自增、自减运算符和逗号表达式自增、自减运算符和逗号表达式 利用循环设计累加和累乘算法利用循环设计累加和累乘算法 穷举法、递推法和迭代法的实现穷举法、递推法和迭代法的实现2024/9/186重点重点 & 难点难点 循环的循环的3 3种表示方法种表示方法 穷举法、递推法和迭代法穷举法、递推法和迭代法算法的掌握算法的掌握 经典问题的求解办法经典问题的求解办法2024/9/187高斯问题高斯问题 编写程序求解编写程序求解1+2+3+97+98+99+

2、100 分析分析算法思想:累加求和算法思想:累加求和算法思想:累加求和算法思想:累加求和Step1Step1、定义被加数定义被加数定义被加数定义被加数i i1 1、累加求和量累加求和量累加求和量累加求和量sumsum0 0Step2Step2、当当当当i=100i=100时,执行时,执行时,执行时,执行sum += i; i+= 1;sum += i; i+= 1;Step3Step3、输出输出输出输出sumsum2024/9/188循环结构循环结构 在满足一定条件的范围内,重复执行的在满足一定条件的范围内,重复执行的程序段称为循环结构程序段称为循环结构 循环结构分为循环结构分为当型循环当型循

3、环当型循环当型循环直到型循环直到型循环直到型循环直到型循环2024/9/189当型循环当型循环A真假假当当P为真为真A当当P为真为真A2024/9/1810直到型循环直到型循环A假真直到直到P为假为假A直到直到P为假为假A2024/9/1811循环结构控制语句循环结构控制语句1-while while循环循环 格式:格式: while(表达式表达式) 循环体循环体 A真假假2024/9/1812while语句求解高斯问题语句求解高斯问题int main()int main() int i = 1,sum = int i = 1,sum = 0 0; ; while(i = 100)while(

4、i = 100) sum += i; /* sum += i; /*实现累加求和实现累加求和实现累加求和实现累加求和*/*/ i += 1; /* i += 1; /*i+;i+;*/*/ printf(“sum is %d”,sum); printf(“sum is %d”,sum); return 0; return 0; i=1,sum=0输出sumsum+=1;当i=100i+;2024/9/1813 do-while循环循环 格式:格式: do 循环体循环体 while(表达式表达式);循环结构控制语句循环结构控制语句2do-whileA假真2024/9/1814do-while求解

5、高斯问题求解高斯问题int main()int main() int i=1,sum=0; int i=1,sum=0; do do sum+=i; sum+=i; i+; i+; while while(i=100);(i100sum+=1;i+;2024/9/1815循环结构控制语句循环结构控制语句3for 格式:格式:格式:格式: for(for(表达式表达式表达式表达式1;1;表达式表达式表达式表达式2;2;表达式表达式表达式表达式3)3) 循环体循环体循环体循环体 表达式表达式表达式表达式1 1一般为循环变量赋初值,可以为任何一般为循环变量赋初值,可以为任何一般为循环变量赋初值,可以

6、为任何一般为循环变量赋初值,可以为任何表达式类型表达式类型表达式类型表达式类型 表达式表达式表达式表达式2 2用于判断循环是否结束用于判断循环是否结束用于判断循环是否结束用于判断循环是否结束 表达式表达式表达式表达式3 3实现循环变量的累加。实现循环变量的累加。实现循环变量的累加。实现循环变量的累加。 3 3个表达式都可以省略,但分号不能省。个表达式都可以省略,但分号不能省。个表达式都可以省略,但分号不能省。个表达式都可以省略,但分号不能省。 表达式表达式表达式表达式2 2省略,代表循环条件省略,代表循环条件省略,代表循环条件省略,代表循环条件永远为真永远为真永远为真永远为真2024/9/18

7、16for求解高斯问题求解高斯问题#include #include int main()int main() int i=1,sum=0; int i=1,sum=0; for(;i=100;i+)for(;i=100;i+) sum += i; sum += i; printf(“sum is %d”,sum); printf(“sum is %d”,sum); return 0; return 0; #include void main() int i=1,sum=0; for(;i=100;sum += i,i+); printf(“sum is %d”,sum);for(;i=100

8、;i+, sum += i)2024/9/1817三种循环结构的比较三种循环结构的比较 与与与与forfor语句等价的语句等价的语句等价的语句等价的whilewhile语句形式:语句形式:语句形式:语句形式: 表达式表达式表达式表达式1 1 while( while(表达式表达式表达式表达式2)2) 循环体语句循环体语句循环体语句循环体语句 表达式表达式表达式表达式3 3 2024/9/1818 与与与与forfor语句等价的语句等价的语句等价的语句等价的do-whiledo-while语句形式:语句形式:语句形式:语句形式:表达式表达式表达式表达式1 1dodo 循环体语句循环体语句循环体语

9、句循环体语句 表达式表达式表达式表达式3 3 while( while(表达式表达式表达式表达式2)2) 三种循环结构原则上可以互换三种循环结构原则上可以互换三种循环结构原则上可以互换三种循环结构原则上可以互换 习惯上,习惯上,习惯上,习惯上,循环次数事先已知的程序用循环次数事先已知的程序用循环次数事先已知的程序用循环次数事先已知的程序用forfor语句语句语句语句,循环次数循环次数循环次数循环次数未知的用未知的用未知的用未知的用whilewhile语句或者语句或者语句或者语句或者do-whiledo-while语句语句语句语句2024/9/1819累加器、累乘器的设计累加器、累乘器的设计 累

10、加器累加器累加器累加器int i ,sumint i ,sum=0=0; ;for(i=1;i=100;i+) for(i=1;i=100;i+) sum += i; sum += i; 累乘器累乘器累乘器累乘器int i ;int i ;double sumdouble sum=1=1; ;for(i=1;i=100;i+) for(i=1;ib,ab,循环找出第一个循环找出第一个循环找出第一个循环找出第一个i i满足满足满足满足a*i a*i % b = 0,% b = 0,循环找出一个循环找出一个循环找出一个循环找出一个i i满足满足满足满足a % i = 0 & b a % i = 0

11、 & b % i = 0 % i = 0 采用算法二:迭代法采用算法二:迭代法采用算法二:迭代法采用算法二:迭代法 算法关键步骤:使算法关键步骤:使算法关键步骤:使算法关键步骤:使ab,ab,由于由于由于由于a = k*b + ra = k*b + r,设设设设mm是是是是a a和和和和b b的最大公约数,那么的最大公约数,那么的最大公约数,那么的最大公约数,那么mm也是也是也是也是b b和和和和r r的最大公的最大公的最大公的最大公约数,如此递推,直到余数约数,如此递推,直到余数约数,如此递推,直到余数约数,如此递推,直到余数r r为为为为0 02024/9/1824解法一解法一 穷举法穷举

12、法# #includeincludevoid main()void main() int m,n,i; int m,n,i; scanf( scanf( %d,%d%d,%d ,&m,&n);,&m,&n); printf( printf( Please input m,n: Please input m,n:); ); for(i = m;(m % i != 0)| (n % i != 0);i-) for(i = m;(m % i != 0)| (n % i != 0);i-) ; printf( printf( gcd = %dngcd = %dn ,i);,i); printf( pr

13、intf( lcm = %dnlcm = %dn ,m*n/i);,m*n/i); 2024/9/18# #includeincludevoid main()void main() int a,b,num1,num2,r,temp; int a,b,num1,num2,r,temp; printf(Please input two numbers:n); printf(Please input two numbers:n); scanf(%d%d,&num1,&num2); scanf(%d%d,&num1,&num2); a=num1; b= num2; a=num1; b= num2; i

14、f(ab) temp = a; a= b; b= temp;if(ab) temp = a; a= b; b= temp; while(b != 0) /*while(b != 0) /*写写写写r != 0r != 0是否可以?是否可以?是否可以?是否可以?*/*/ r = a % b; r = a % b; a = b; a = b; b = r; b = r; printf(The greatest common divisor is:%dn,a); printf(The greatest common divisor is:%dn,a); printf(The least multip

15、le is:%d,num1*num2/a); printf(The least multiple is:%d,num1*num2/a); 解法二:迭代法解法二:迭代法2024/9/1826穷举法巩固穷举法巩固 找出找出找出找出200300200300200300200300之间所有能被之间所有能被之间所有能被之间所有能被3 3 3 3整除的数整除的数整除的数整除的数2024/9/1827算法一算法一# #include include void main()void main() int i; int i; for(i = 200;i = 300;i+) for(i = 200;i = 300

16、;i+) if(i % 3 = 0) if(i % 3 = 0) printf(“%dn”,i); printf(“%dn”,i); else else continuecontinue; ; 2024/9/1828break和和continue 对对对对forfor、whilewhile、dodo- -whilewhile循环进行内部手术循环进行内部手术循环进行内部手术循环进行内部手术 breakbreak,退出循环,退出循环,退出循环,退出循环 continuecontinue,中断此次循环体的执行,开始下一次,中断此次循环体的执行,开始下一次,中断此次循环体的执行,开始下一次,中断此次循

17、环体的执行,开始下一次 breakbreak和和和和continuecontinue少用为妙少用为妙少用为妙少用为妙2024/9/1829算法二算法二# #include include void main()void main() int i; int i; for(i = 200;i = 300;i+) for(i = 200;i = 300;i+) i % 3 ? continue : printf(“%dn”,i);i % 3 ? continue : printf(“%dn”,i); 2024/9/1830作业作业思考题思考题从键盘输入一个数,判断该数从键盘输入一个数,判断该数是否是素数是否是素数2024/9/18

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号