文档详情

lh-05 循环结构程序设计1.ppt

发布:2018-05-15约1.46万字共52页下载文档
文本预览下载声明
如果x的类型定义成float,则当x20时会出现float精度不够的情况,溢出。 * break语句的作用(续) 在循环语句中使用,强行中止循环 p A 成立 不成立 循环结构 (while) B break p A 成立 不成立 B break p A 成立 不成立 循环结构 (while) B break语句的作用(续) 在循环语句中使用,强行中止循环 /*计算正整数m和n的最大公约数*/ for(k = m; k=1; k--) if ( n % k == 0 m % k == 0) break; printf(Gcd = %d\n,k); k = 1? 成立 不成立 break n % k == 0 且m % k ==0? k = m 否 是 k = k - 1 printf(k) continue语句 continue语句的作用 执行流程到达continue语句时,结束本轮循环,开始下一轮循环 p A 成立 不成立 循环结构 (while) B p A 成立 不成立 循环结构 (while) B continue p A 成立 不成立 循环结构 (while) B continue continue语句的应用举例 输出100~200之间所有不能被3整除的整数。 #include stdio.h main( ) { int n; for(n = 100; n = 200; n++) { if (n % 3 == 0) continue; printf(%d\t, n); } /*end of for*/ } n = 200? 成立 不成立 printf(%d\t, n) continue n % 3 == 0? n = 100 否 是 n ++ 循环语句应用举例 已知鸡兔共笼,头共45个,脚共120只,问鸡、兔各几何? #include stdio.h int main( ) { int chicken, rabbits; for (chicken = 0; chicken = 45; chicken++) { rabbits = 45 – chicken; if (chicken * 2 + rabbits * 4 == 120) break; } /*end of for*/ printf(chicken: %d\t rabbits: %d\n , chicken, rabbits); return 0; } a = 0; b = 45; while (2*a+4*b != 120) { a++; b--; } 单重循环和多重循环 for语句和while语句 for语句的基本格式: for(表达式1;表达式2;表达式3) 循环体语句A 表达式2? A 真 假 表达式1 表达式3 while语句的格式: while (表达式p) 循环体语句A p A 真 假 循环结构 循环语句应用举例 已知鸡兔共笼,头共45个,脚共120只,问鸡、兔各几何? #include stdio.h int main( ) { int chicken, rabbits; for (chicken = 0; chicken = 45; chicken++) { rabbits = 45 – chicken; if (chicken * 2 + rabbits * 4 == 120) break; } /*end of for*/ printf(chicken: %d\t rabbits: %d\n , chicken, rabbits); return 0; } 循环体语句可以是语言允许的任何语句,多于一条语句时必须用{}括起来 例如,艰难旅程(浮点误差)。乌龟要去环球。第1秒爬1米,第2秒爬1/2米,第3秒爬1/3米,第4秒爬1/4米,…。问一小时能爬出多远?爬20米需多少秒? 这里只考虑爬20米需要多少时间。写出下面的代码: #include stdio.h #include stdlib.h int main() { long i; double x = 0.0; //路程 for (i=1; x20; ++i) x = x+ 1.0/i; printf(%ld\n
显示全部
相似文档