文档详情

c语言循环结构的案例.ppt

发布:2017-04-20约2.01千字共16页下载文档
文本预览下载声明
循环结构案例分析 钱新杰; 掌握基本算法的设计 掌握for语句的基本应用 掌握while语句的基本应用 掌握do-while语句的基本应用;1、简述for语句执行过程。 2、比较分析while语句和do-while语句。; 例1: 从键盘输入各学生成绩,并对90分以上(包括90分)的学生人数进行计数,直到输入的成绩为负为止,最后输出成绩在90分以上的学生人数。 ;#include stdio.h main() { int count; float grade; count=0; scanf(%f,grade); while (grade>=0.0) { if (grade>=90.0) count=count+1; scanf(%f,grade); } printf(count=%d\n,count); } ;例2:有一堆零件(100-200个之间),如果以4个零件为一组进行分组,则多2个零件;如果以7个零件为一组进行分组,则多3个零件;如果以9个零件为一组进行分组,则多5个零件。编程求解这堆零件总数。 提示:用穷举法求解。即零件总数x从100-200循环试探,如果满足所有几个分组已知条件,那么此时的x就是一个解。分组后多几个零件这种条件可以用求余运算获得条件表达式。;main() { int x,flag=0; for(x=100; x=200; x++) if(x%4==2x%7==3x%9==5) { flag=1; break; } if(flag)printf(x=%d\n,x); else printf(no answer!\n); }; 例3: 计算并输出10以内(包括10)所有自然数的阶乘值。即计算1!,2!,3!,4!,5!,6!,7!,8!,9!,10!。;#include stdio.h main() { int n,k; double s; for (n=1; n<=10; n=n+1) { s=1.0; for (k=1; k<=n; k=k+1) s=s*k; printf(%2d!=%16.7f\n ,n,s); } } ;例4: 从键盘输入一行字符,将其中的英文字母进行加密输出(非英文字母不用加密)。 #include stdio.h main() { char c; int k; printf(input k:); scanf(%d,k); scanf(%c,c); /*吃掉上次输入的回车符*/ c=getchar(); while(c!=\n) { if ((c>=a c<=z) | | (c>=A c<=Z)) { c=c+k; if (c>z | | (c>Z c<=Z+k)) c=c-26; } printf(%c,c); c=getchar(); }};例5: 输入‘A’到‘Z’中的任一个字符,输出如下回文串。如:输入‘B’,则输出ABA;输入‘E’,则输出ABCDEDCBA。;main( ) {char c,ci; printf(“输入一个字母\n”); c=getchar( ); for(ci=‘A’,ci=c,ci++) printf(“%c”,ci); ci--; for( ,ci=‘A’,ci--) printf(“%c”,ci); printf(“\n”); };例6: 对除5的倍数以外的1~100的数求和。;main() { int n,s; for (n=1,s=0;n=20;n=n+1) { if (n%3==0) continue; printf(%d\t,n); s=s+1; } printf(\ntotal:%d\n,s); }; 通过本次课的经典案例分析,主要要求同学们更深入的巩固和掌握for语句、 while语句、 do-while语句的基本应用,并掌握基本算法的设计,为后续内容做准备。; 完成书上例题上机操作
显示全部
相似文档