第五单元 循环结构程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

任务实施
源自文库#include <stdio.h>
void main()
{
int i,k,sum1=0,sum2=0 ;
do
//循环
{printf(“请输入奇数分值”);
scanf(“%d”,&i);
//输入
if ( i%2!=0)
//奇数分值求和
sum1+=i;
}while(i!=0);
任务实施
do
思路指导
初始化:原始号码123 循环:循环变量i是100-999的数字,个位a=i%10,十 位b=i/10%10,c=i/100%10。 计数器:k 条件判断:判断a,b,c是否1,2,3,有一个相等k++ 条件输出:判断k=1输出“三等奖+数字”
k=2输出“二等奖+数字” k=3 输出“一等奖+数字”
C语言程序设计任务驱动式教程
第五单元 循环结构程序设计
问题引入
我们经常会对输入的多个数据应用相同的计算,使用循环 语句就解决了繁琐的重复问题。如果程序中有需要多次执行的 语句组,就进行循环结构程序设计。
循环结构是结构化程序设计的三种基本结构之一,循环语 句序列可重复执行,直到某条件不成立(或成立)结束,或完 成指定的次数。循环结构的编写由循环语句来完成,有时我们 还希望控制循环的进入和退出,所以还会使用一些循环控制语 句。本单元的五个典型任务讲解和分析了在C语言程序中循环结 构的程序设计方法。
sum+=scr;
i++; }
ave=sum/n;
printf(“参赛队总成绩是评委打分平均分:%d”,ave);
}
特别提示
1. 循环变量要有初值。 2. 在循环体中,循环变量要有变化,并且使得循环条件
可以为假,跳出循环,避免“死循环”。 3. 打分和sum初值为0。
任务2:翻牌游戏——do-while语句的运用
设评委人数不固定,由输入的评委人数决定,每个 评委打分,进行求和,打分次数和评委人数不相等继 续打分和求和,打分结束计算平均分,最后输出最终 成绩。
思路指导
输入:评委人数(int n)。 次数统计:计数器(int i) 循环:循环条件i<=n 循环任务输入评委打分0-100分之间(int scr ), 求和(int sum),打分次数i增1 求平均分:平均分(int ave) ave=sum/n 输出:平均分为选手比赛成绩
//循环
{printf(“请输入偶数分值”);
scanf(“%d”,&k);
//输入
if ( k%2==0)
//偶数分值求和
sum2+=k;
}while(k!=0);
printf(“奇数分值是%d偶数分值是%d”,sum1,sum2);
if (sum1>sum2)
printf(“奇数玩家赢!”);
else
第五单元 循环结构程序设计
任务1:歌唱比赛平均分

任务2:翻牌游戏
展 提

任务3:彩票中奖
任务4: 九九乘法表

任务5:找朋友



任务6: 猜数游戏
任务1:歌唱比赛平均分——while语句的运用
工作任务 思路指导 相关知识 任务实施
特别提示
工作任务
学院开展一次小型歌唱比赛,邀请各系组织并推 选评委,比赛时一支参赛队伍演唱完毕,由评委打分, 最终成绩是所有评委的平均分。
if (sum1<sum2)
printf(“偶数玩家赢!”);
else
if (sum1=sum2)
printf(“平局!”);
}
特别提示
while语句和do-while语句的区别: (1)在循环条件和循环体相同的情况下while后面的 表达式第一次的值为“真”时,两种循环得到的结果相 同。 (2)当while后面的表达式第一次的值为“假”时, while语句一次也不执行,而do-while 语句可以顺利执行 一次。
语句组
Y 表达式
N
循环语句后 的语句
图5-4 do-while 语句流程
相关知识
3. do-while语句进一步说明 (1)do-while语句是先执行语句序列一次,后判断表达式的值。 (2)如果do-while语句的循环体部分是多个语句组成,则必须用左右 大括号括起来,使其形成复合语句。 (3)书写时不要忘记while圆括号后面有一个分号“;”。
sum=sum+i; (2)如果省略表达式2,即表示表达式2的值始终为真,循环将无终 止地进行下去。
举例:for (i=1;;i++) printf ("%d",i);
特别提示
(3)如果省略表达式3,也将产生一个无穷循环。因此,应另外设法 保证循环能正常结束,可以将循环变量的修改部分(即表达式3)放 在循环语句中控制。 举例:for (i=1;i<=100;) { printf ("%d",i); i++; } (4) 可以同时省略表达式1和表达式3,即省略了循环的初值和循环 变量的修改部分,此时完全等价于while语句。 举例:i=1; for (;i<=10;) { printf ("%d",i); i++; }
图5-1 while语句流程
相关知识
3.while语句的进一步说明 (1)循环体如果包含一个以上的语句,应该用大括号括起来, 以复合语句的形式出现。 (2)在循环中应有使循环趋向于结束的语句,即设置修改条件 的语句。例如:本例中的次数变量i++; (3)while语句的特点是先判断表达式的值,然后决定是否执 行循环体中的语句,如果表达式的值一开始为假(即值为0), 则退出循环,并转入循环体的后续语句执行。如果表达式的值 始终为真(即值为1),则是永久循环“死循环”。
任务4:九九乘法表——循环嵌套的运用
工作任务 思路指导 相关知识 任务实施
特别提示
工作任务
小学生的九九乘法口诀 “满九九乘法表”,是一个九行九列 的表格,行和列均从1变化到9,如5-1表所示。
1
1
1*1=1
2
1*2=1
3
1*3=3
4
1*4=4
5
1*5=5
6
1*6=6
7
1*7=7
8
1*8=8
9
1*9=9
2
2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3
4
5
6
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
任务实施
#include <stdio.h>
void main( )
{int n,i=1,scr,sum=0,ave;
printf(“请输入评委的人数:”);
scanf(“%d”,&n);
while(i<=n)
//循环输入打分并求和
{printf(“请为参赛队打分:0-100之间”);
scanf(“%d”,&scr);
等级
if(k==2){printf(“二等奖y%-5d”,i); num++;k=0;}
if(k==3){printf(“一等奖%-5d”,i); num++;k=0;}
if(num==6){printf(“\n”); num=0;} //一行显示6个数字
}
}
特别提示
(1)for语句的一般形式中的“表达式1”可以省略。但要注意省略表 达式1时,其后的分号不能省略。 举例:i=1; for (;i<=100;i++)
任务3:彩票中奖——for语句的运用
工作任务 思路指导 相关知识 任务实施
特别提示
工作任务
一个小型模拟彩票中奖机,已知彩票中奖号码是 一个固定的3位数即原始号码。对任意一个三位数, 取出它的每位数字和原始号码的每位数字比较,共有 1位数相同中三等奖,2位数相同中二等奖,3位数都 相同中一等奖。在所有的三位数中进行比较,输出所 有中奖数字。
相关知识
1.for语句语法格式: for (表达式1;表达式2;表达式3) {循环语句组}
2.for语句执行过程: (1)先计算表达式1的值。 (2)再计算表达式2的值,若其值为真,则执行循环体一次;否则 跳转第(5)步。 (3)然后计算表达式3的值。 (4)回转上面第(2)步。 (5) 结束循环,执行for语句的后续语句。
相关知识
1.“直到型”循环do-while语句 do-while语句语法格式: do {循环语句组} while(表达式);
相关知识
2.do-while语句执行过程 先执行一次指定的循环体语句,然后判断表达式的值,当表达式
的值为非0时,返回重新执行该语句,如此反复,直到表达式的值等 于0为止,此时循环结束。do-while 语句结构如图所示 。
PPT模板下载:www.1ppt.com/moban/ 节日PPT模板:www.1ppt.com/jieri/ PPT背景图片:www.1ppt.com/beijing/ 优秀PPT下载:www.1ppt.com/xiazai/ Word教程: www.1ppt.com/word/ 资料下载:www.1ppt.com/ziliao/ 范文下载:www.1ppt.com/fanwen/ 教案下载:www.1ppt.com/jiaoan/
工作任务 思路指导 相关知识 任务实施
特别提示
工作任务
有这样的一个纸牌小游戏,三个人一起玩,不分 花色,一人选择奇数牌,一人选择偶数牌,一人负责 唱分,A-1分……K-13分,直到两人抽到大王或小王 按0分对待,游戏结束,最终两人积分高者胜出。
思路指导
循环输入:由唱分人负责输入分值 循环条件:不是大小王(0分) 输出:两人总得分 判断输赢:比较奇数和偶数和的大小
相关知识
3.for语句说明: (1)表达式1一般为赋值表达式,用于进 入循环之前给循环变量赋初值,后面有“;” 分隔。 (2)表达式2一般为关系表达式或逻辑表 达式,用于执行循环的条件判定,它与 while、do-while循环中的表达式作用完全 相同,后面用“;”分隔。 (3)表达式3一般为赋值表达式或自增 (i=i+1 可表示成i++)、自减 (i=i-1可表示成i-)表达式,用于修改循环变量的值。 (4)如果循环体部分是多个语句组成的, 则必须用大括号括起来,使其成为一个复 合语句。
//循环判断三位数中中奖数字
{ a=i%10;
//求个位
b=i/10%10;
//求十位
c=i/100%10;
//求百位
任务实施
if ( a==3) k++;
//个位是3,k=1
if (b==2) k++;
//十位是2,k=2
if(c==1) k++;
//百位是1,k=3
if(k==1){printf(“三等奖%-5d”,i);num++;k=0;} //根据k的值判定获奖
相关知识
(三)当型循环while语句 1. while语句的语法格式
while (表达式) {循环语句组}
2.while语句的执行过程 当表达式的值为真true
(非0)时,执行while语 句中的循环语句组,否则 执行循环体后续语句, while语句结构如下图所示。
N 表达式
Y 语句组
循环语句后 的语句
循环变量赋 初值
表达式 N Y
语句组
循环语句后 的语句
图5-7 for语句结构
任务实施
#include <stdio.h>
void main()
{
int i,a,b,c,k=0,num=0;
int n=123;
//中奖原始号码
printf(“输出所有中奖”号码:\n”);
for(i=100;i<=999;i++)
行业PPT模板:www.1ppt.com/hangye/ PPT素材下载:www.1ppt.com/sucai/ PPT图表下载:www.1ppt.com/tubiao/ PPT教程: www.1ppt.com/powerpoint/ Excel教程:www.1ppt.com/excel/ PPT课件下载:www.1ppt.com/kejian/ 试卷下载:www.1ppt.com/shiti/
相关知识
(一)循环是怎样的 循环结构是结构化程序设计的基本结构之一,它与顺序结构、选择 结构共同作为各种复杂程序的基本结构。 (二)解决循环问题的基本步骤和方法 循环要完成的任务主要有三个: (1)循环需要确定重复执行的次数,因此要设计一个循环变量, 并对它进行初始化; (2)设计循环条件即循环变量的终值,控制循环的结束; (3)设计循环反复执行的任务即循环体。
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
相关文档
最新文档