c语言循环结构的案例.ppt
文本预览下载声明
循环结构案例分析 钱新杰;
掌握基本算法的设计
掌握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语句的基本应用,并掌握基本算法的设计,为后续内容做准备。;
完成书上例题上机操作
显示全部