实验教学课件

上传人:m**** 文档编号:590631890 上传时间:2024-09-15 格式:PPT 页数:75 大小:2.78MB
返回 下载 相关 举报
实验教学课件_第1页
第1页 / 共75页
实验教学课件_第2页
第2页 / 共75页
实验教学课件_第3页
第3页 / 共75页
实验教学课件_第4页
第4页 / 共75页
实验教学课件_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《实验教学课件》由会员分享,可在线阅读,更多相关《实验教学课件(75页珍藏版)》请在金锄头文库上搜索。

1、哈尔滨工业大学计算机科学与技术学院哈尔滨工业大学计算机科学与技术学院苏小红苏小红2024/9/15C语言大学实用教程课件 制作人苏小红2 主教材:主教材:主教材:主教材: 苏小红等,苏小红等,苏小红等,苏小红等, C C C C语言大学实用教程语言大学实用教程语言大学实用教程语言大学实用教程,电子工业出版电子工业出版电子工业出版电子工业出版社,社,社,社,2004200420042004,8,8,8,8 苏小红等,苏小红等,苏小红等,苏小红等, C C C C语言大学实用教程(第语言大学实用教程(第语言大学实用教程(第语言大学实用教程(第2 2 2 2版)版)版)版),电子电子电子电子工业出版

2、社,工业出版社,工业出版社,工业出版社,2002002002007,27,27,27,2 实验教材:实验教材:实验教材:实验教材: 苏小红等,苏小红等,苏小红等,苏小红等,C C C C语言大学实用教程习题与实验指导语言大学实用教程习题与实验指导语言大学实用教程习题与实验指导语言大学实用教程习题与实验指导,电子工业出版社,电子工业出版社,电子工业出版社,电子工业出版社,2004200420042004,8,8,8,8 苏小红等,苏小红等,苏小红等,苏小红等,C C C C语言大学实用教程学习指导语言大学实用教程学习指导语言大学实用教程学习指导语言大学实用教程学习指导,电子工电子工电子工电子工业

3、出版社,业出版社,业出版社,业出版社,2002002002007,47,47,47,42024/9/15C语言大学实用教程课件 制作人苏小红3实验内容实验内容实验内容实验内容2024/9/15C语言大学实用教程课件 制作人苏小红4实验实验实验实验1 1: 熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程练习练习练习练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习 问题问题问题问题1 1:要使下面程序的输出语句在屏幕上显示:要使下面程序的输出语句在屏幕上显示:要使下面程序的输出语句在屏幕上显示:要

4、使下面程序的输出语句在屏幕上显示1,2,341,2,34,则从键盘输入的数据格式应为以下备选答案,则从键盘输入的数据格式应为以下备选答案,则从键盘输入的数据格式应为以下备选答案,则从键盘输入的数据格式应为以下备选答案中的哪一个?中的哪一个?中的哪一个?中的哪一个? #include #include main()main() char a,b; char a,b; int c; int c; scanf(%c%c%d,&a,&b,&c);scanf(%c%c%d,&a,&b,&c);printf(%c,%c,%dn,a,b,c);printf(%c,%c,%dn,a,b,c); A) 1 2

5、34 A) 1 2 34 B) 1, 2, 34 B) 1, 2, 34 C) 1,2,34 C) 1,2,34 D) 12 34D) 12 342024/9/15C语言大学实用教程课件 制作人苏小红5实验实验实验实验1 1: 熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程练习练习练习练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习 问题问题问题问题2 2:与上面程序的键盘输入相同的情况下,要:与上面程序的键盘输入相同的情况下,要:与上面程序的键盘输入相同的情况下,要:与上面程序的键盘输入相同

6、的情况下,要使上面程序的输出语句在屏幕上显示使上面程序的输出语句在屏幕上显示使上面程序的输出语句在屏幕上显示使上面程序的输出语句在屏幕上显示1 2 341 2 34,则应,则应,则应,则应修改程序中的哪条语句?怎样修改?修改程序中的哪条语句?怎样修改?修改程序中的哪条语句?怎样修改?修改程序中的哪条语句?怎样修改? #include #include main()main() char a,b; char a,b; int c; int c; scanf(%c%c%d,&a,&b,&c);scanf(%c%c%d,&a,&b,&c);printf(%c,%c,%dn,a,b,c);printf

7、(%c,%c,%dn,a,b,c); 2024/9/15C语言大学实用教程课件 制作人苏小红6 问题问题问题问题3 3:要使上面程序的键盘输入数据格式为:要使上面程序的键盘输入数据格式为:要使上面程序的键盘输入数据格式为:要使上面程序的键盘输入数据格式为1,2,341,2,34,输出语句在屏幕上显示的结果也为,输出语句在屏幕上显示的结果也为,输出语句在屏幕上显示的结果也为,输出语句在屏幕上显示的结果也为1,2,341,2,34,则应,则应,则应,则应修改程序中的哪条语句?怎样修改?修改程序中的哪条语句?怎样修改?修改程序中的哪条语句?怎样修改?修改程序中的哪条语句?怎样修改?#include

8、#include main()main() char a,b; char a,b; int c; int c; scanf(%c%c%d,&a,&b,&c);scanf(%c%c%d,&a,&b,&c);printf(%c,%c,%dn,a,b,c);printf(%c,%c,%dn,a,b,c); 实验实验实验实验1 1: 熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程练习练习练习练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习 2024/9/15C语言大学实用教程课件 制作人苏小红7 问题

9、问题问题问题4 4:要使上面程序的键盘输入数据格式为:要使上面程序的键盘输入数据格式为:要使上面程序的键盘输入数据格式为:要使上面程序的键盘输入数据格式为1,2,341,2,34,而输出语句在屏幕上显示的结果为,而输出语句在屏幕上显示的结果为,而输出语句在屏幕上显示的结果为,而输出语句在屏幕上显示的结果为 1,2,341,2,34,则应修改程序中的哪条语句?怎,则应修改程序中的哪条语句?怎,则应修改程序中的哪条语句?怎,则应修改程序中的哪条语句?怎样修改?样修改?样修改?样修改? 提示:利用转义字符输出字符单引号字符。提示:利用转义字符输出字符单引号字符。提示:利用转义字符输出字符单引号字符。

10、提示:利用转义字符输出字符单引号字符。 #include #include main()main() char a,b; char a,b; int c; int c; scanf(%c%c%d,&a,&b,&c);scanf(%c%c%d,&a,&b,&c);printf(%c,%c,%dn,a,b,c);printf(%c,%c,%dn,a,b,c); 实验实验实验实验1 1: 熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程练习练习练习练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习 20

11、24/9/15C语言大学实用教程课件 制作人苏小红8 问题问题问题问题5 5:要使上面程序的键盘输入无论用下面:要使上面程序的键盘输入无论用下面:要使上面程序的键盘输入无论用下面:要使上面程序的键盘输入无论用下面哪种格式输入数据,程序在屏幕上的输出结果哪种格式输入数据,程序在屏幕上的输出结果哪种格式输入数据,程序在屏幕上的输出结果哪种格式输入数据,程序在屏幕上的输出结果都为都为都为都为 1,2,341,2,34,则程序应修改程序中的,则程序应修改程序中的,则程序应修改程序中的,则程序应修改程序中的哪条语句?怎样修改?哪条语句?怎样修改?哪条语句?怎样修改?哪条语句?怎样修改?第一种输入方式:第

12、一种输入方式:第一种输入方式:第一种输入方式:1,2,341,2,34 (以逗号作为分隔符)(以逗号作为分隔符)(以逗号作为分隔符)(以逗号作为分隔符)第二种输入方式:第二种输入方式:第二种输入方式:第二种输入方式:1 2 341 2 34 (以空格作为分隔符)(以空格作为分隔符)(以空格作为分隔符)(以空格作为分隔符)第三种输入方式:第三种输入方式:第三种输入方式:第三种输入方式:1 2 341 2 34 (以(以(以(以TabTab键作为分隔键作为分隔键作为分隔键作为分隔符)符)符)符)第四种输入方式:第四种输入方式:第四种输入方式:第四种输入方式:1 1 2 2 34 34 (以回车符作

13、为分隔符)(以回车符作为分隔符)(以回车符作为分隔符)(以回车符作为分隔符) 实验实验实验实验1 1: 熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程练习练习练习练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习键盘输入与屏幕输出练习 2024/9/15C语言大学实用教程课件 制作人苏小红9实验实验实验实验1 1: 熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程熟悉上机环境和顺序结构编程练习练习练习练习计算定期存款本利之和计算定期存款本利之和计算定期存款本利之和计算定期存款本利之和 设

14、银行定期存款的年利率设银行定期存款的年利率设银行定期存款的年利率设银行定期存款的年利率raterate为为为为2.25%2.25%,并已,并已,并已,并已知存款期为知存款期为知存款期为知存款期为n n年,存款本金为年,存款本金为年,存款本金为年,存款本金为capitalcapital元,试编元,试编元,试编元,试编程计算程计算程计算程计算n n年后的本利之和年后的本利之和年后的本利之和年后的本利之和depositdeposit。 要求定期存款的年利率要求定期存款的年利率要求定期存款的年利率要求定期存款的年利率raterate、存款期、存款期、存款期、存款期n n和存款本和存款本和存款本和存款本

15、金金金金capitalcapital均由键盘输入。均由键盘输入。均由键盘输入。均由键盘输入。 2024/9/15C语言大学实用教程课件 制作人苏小红10实验实验实验实验2 2: 选择结构编程练习选择结构编程练习选择结构编程练习选择结构编程练习身高预测身高预测身高预测身高预测 每个做父母的都关心自己孩子成人后的身高,据有关每个做父母的都关心自己孩子成人后的身高,据有关每个做父母的都关心自己孩子成人后的身高,据有关每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后生理卫生知识与数理统计分析表明,影响小孩成人后生理卫生知识与数理统计分析表明,影响小孩成人后生

16、理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小身高的因素有遗传、饮食习惯与坚持体育锻炼等。小身高的因素有遗传、饮食习惯与坚持体育锻炼等。小身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后身高与其父母身高和自身性别密切相关。孩成人后身高与其父母身高和自身性别密切相关。孩成人后身高与其父母身高和自身性别密切相关。孩成人后身高与其父母身高和自身性别密切相关。 设设设设faHeightfaHeight为其父身高,为其父身高,为其父身高,为其父身高,moHeightmoHeight为其母身高,身高为其母身高,身高为其母身高,身高为其母身高,身高预测公式为

17、:预测公式为:预测公式为:预测公式为:男性成人时身高男性成人时身高男性成人时身高男性成人时身高 = (= (faHeightfaHeight + + moHeightmoHeight) * 0.54(cm) * 0.54(cm)女性成人时身高女性成人时身高女性成人时身高女性成人时身高 = (= (faHeightfaHeight * 0.923 + * 0.923 + moHeightmoHeight) / 2(cm) / 2(cm) 此外,如果喜爱体育锻炼,那么可增加身高此外,如果喜爱体育锻炼,那么可增加身高此外,如果喜爱体育锻炼,那么可增加身高此外,如果喜爱体育锻炼,那么可增加身高2%2%

18、,如,如,如,如果有良好的卫生饮食习惯,那么可增加身高果有良好的卫生饮食习惯,那么可增加身高果有良好的卫生饮食习惯,那么可增加身高果有良好的卫生饮食习惯,那么可增加身高1.5%1.5%。2024/9/15C语言大学实用教程课件 制作人苏小红11实验实验实验实验2 2: 选择结构编程练习选择结构编程练习选择结构编程练习选择结构编程练习身高预测身高预测身高预测身高预测 编程从键盘输入你的性别(用字符型变量编程从键盘输入你的性别(用字符型变量编程从键盘输入你的性别(用字符型变量编程从键盘输入你的性别(用字符型变量sexsex存储,存储,存储,存储,输入字符输入字符输入字符输入字符F F表示女性,输入

19、字符表示女性,输入字符表示女性,输入字符表示女性,输入字符MM表示男性)、父母表示男性)、父母表示男性)、父母表示男性)、父母身高(用实型变量存储,身高(用实型变量存储,身高(用实型变量存储,身高(用实型变量存储,faHeightfaHeight为其父身高,为其父身高,为其父身高,为其父身高,moHeightmoHeight为其母身高)、是否喜爱体育锻炼(用字符为其母身高)、是否喜爱体育锻炼(用字符为其母身高)、是否喜爱体育锻炼(用字符为其母身高)、是否喜爱体育锻炼(用字符型变量型变量型变量型变量sportssports存储,输入字符存储,输入字符存储,输入字符存储,输入字符Y Y表示喜爱,输

20、入字符表示喜爱,输入字符表示喜爱,输入字符表示喜爱,输入字符N N表示不喜爱)、是否有良好的饮食习惯等条件(用字表示不喜爱)、是否有良好的饮食习惯等条件(用字表示不喜爱)、是否有良好的饮食习惯等条件(用字表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量符型变量符型变量符型变量dietdiet存储,输入字符存储,输入字符存储,输入字符存储,输入字符Y Y表示喜爱,输入字符表示喜爱,输入字符表示喜爱,输入字符表示喜爱,输入字符N N表示不喜爱),利用给定公式和身高预测方法对你的表示不喜爱),利用给定公式和身高预测方法对你的表示不喜爱),利用给定公式和身高预测方法对你的表示不喜爱),利用给定公

21、式和身高预测方法对你的身高进行预测。身高进行预测。身高进行预测。身高进行预测。 2024/9/15C语言大学实用教程课件 制作人苏小红12实验实验实验实验2 2:选择结构编程练习:选择结构编程练习:选择结构编程练习:选择结构编程练习简单的计算器程序简单的计算器程序简单的计算器程序简单的计算器程序 要求用要求用要求用要求用switchswitch语句编程设计一个简单的计算器程序。语句编程设计一个简单的计算器程序。语句编程设计一个简单的计算器程序。语句编程设计一个简单的计算器程序。要求根据用户从键盘输入的表达式:要求根据用户从键盘输入的表达式:要求根据用户从键盘输入的表达式:要求根据用户从键盘输入

22、的表达式: 操作数操作数操作数操作数1 1 运算符运算符运算符运算符op op 操作数操作数操作数操作数2 2 计算表达式的值,指定的算术运算符为加(计算表达式的值,指定的算术运算符为加(计算表达式的值,指定的算术运算符为加(计算表达式的值,指定的算术运算符为加(+ +)、减)、减)、减)、减(- -)、乘()、乘()、乘()、乘(* *)、除()、除()、除()、除(/ /)。)。)。)。2024/9/15C语言大学实用教程课件 制作人苏小红13例例例例4.84.8:计算器程序:计算器程序:计算器程序:计算器程序 编程设计一个简单的计算器程序,要求根据用户编程设计一个简单的计算器程序,要求根

23、据用户编程设计一个简单的计算器程序,要求根据用户编程设计一个简单的计算器程序,要求根据用户从键盘输入如下形式的表达式:从键盘输入如下形式的表达式:从键盘输入如下形式的表达式:从键盘输入如下形式的表达式: 操作数操作数操作数操作数1 1 运算符运算符运算符运算符op op 操作数操作数操作数操作数2 2 然后,计算并输出表达式的值然后,计算并输出表达式的值然后,计算并输出表达式的值然后,计算并输出表达式的值 指定的运算符为指定的运算符为指定的运算符为指定的运算符为 加(加(加(加(+ +) 减(减(减(减(- -) 乘(乘(乘(乘(* *) 除(除(除(除(/ /) 2024/9/15C语言大学

24、实用教程课件 制作人苏小红14mainmain()() intint data1, data2; /* data1, data2; /*定义两个操作符定义两个操作符定义两个操作符定义两个操作符* */ /charchar op; /* op; /*定义运算符定义运算符定义运算符定义运算符* */ /printf(Please enter the expression:);printf(Please enter the expression:);scanf(%d%c%d, &data1, &op, &data2); /*scanf(%d%c%d, &data1, &op, &data2); /*

25、输入运算表达式输入运算表达式输入运算表达式输入运算表达式* */ /switchswitch (op) (op) casecase +: /* +: /*处理加法处理加法处理加法处理加法* */ /printf(%d + %d = %dn, data1, data2, data1 + data2); printf(%d + %d = %dn, data1, data2, data1 + data2); breakbreak; ;casecase -: /* -: /*处理减法处理减法处理减法处理减法* */ /printf(%d - %d = %dn, data1, data2, data1

26、- data2);printf(%d - %d = %dn, data1, data2, data1 - data2);breakbreak; ;casecase *: /* *: /*处理乘法处理乘法处理乘法处理乘法* */ /printf(%d * %d = %dn, data1, data2, data1 * data2); printf(%d * %d = %dn, data1, data2, data1 * data2); breakbreak; ;casecase /: /* /: /*处理除法处理除法处理除法处理除法* */ /ifif ( (0 = data20 = data2

27、) ) printf(Division by zero!n); printf(Division by zero!n);elseelse printf(%d/%d = %dn, data1, data2, data1/data2); printf(%d/%d = %dn, data1, data2, data1/data2); breakbreak; ;defaultdefault: : printf(Unknown operator! n);printf(Unknown operator! n); 例例例例4.84.82024/9/15C语言大学实用教程课件 制作人苏小红15实验实验实验实验2

28、 2:选择结构编程练习:选择结构编程练习:选择结构编程练习:选择结构编程练习简单的计算器程序简单的计算器程序简单的计算器程序简单的计算器程序 本实验程序是在本实验程序是在本实验程序是在本实验程序是在例例例例4.84.8基础上,增加如下要求:基础上,增加如下要求:基础上,增加如下要求:基础上,增加如下要求:(1 1)如果要求程序能进行浮点数的算术运算,程序应该如)如果要求程序能进行浮点数的算术运算,程序应该如)如果要求程序能进行浮点数的算术运算,程序应该如)如果要求程序能进行浮点数的算术运算,程序应该如何修改?何修改?何修改?何修改? 如何比较实型变量如何比较实型变量如何比较实型变量如何比较实型

29、变量data2data2和常数和常数和常数和常数0 0是否相等?是否相等?是否相等?是否相等?(2 2)如果要求输入的算术表达式中的操作数和运算符之间)如果要求输入的算术表达式中的操作数和运算符之间)如果要求输入的算术表达式中的操作数和运算符之间)如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多空白符,那么程序如何修改?可以加入任意多空白符,那么程序如何修改?可以加入任意多空白符,那么程序如何修改?可以加入任意多空白符,那么程序如何修改?(3 3)(选作题)如果要求连续做多次算术运算,每次运算)(选作题)如果要求连续做多次算术运算,每次运算)(选作题)如果要求连续做多次算术运算,每

30、次运算)(选作题)如果要求连续做多次算术运算,每次运算结束后,程序都给出提示:结束后,程序都给出提示:结束后,程序都给出提示:结束后,程序都给出提示: Do you want to Do you want to continue(Ycontinue(Y/N or /N or y/ny/n)?)?如果用户输入如果用户输入如果用户输入如果用户输入Y Y或或或或y y时,程序继续进行其它算术运算,否则时,程序继续进行其它算术运算,否则时,程序继续进行其它算术运算,否则时,程序继续进行其它算术运算,否则程序才退出运行状态。那么,程序如何修改?程序才退出运行状态。那么,程序如何修改?程序才退出运行状态。

31、那么,程序如何修改?程序才退出运行状态。那么,程序如何修改? 2024/9/15C语言大学实用教程课件 制作人苏小红16 语句语句语句语句 if (0 = data2)if (0 = data2)的必要性的必要性的必要性的必要性19981998年年年年1111月月月月科学美国人科学美国人科学美国人科学美国人杂志,描述了美国导弹巡杂志,描述了美国导弹巡杂志,描述了美国导弹巡杂志,描述了美国导弹巡洋舰约克敦号上的一起事故,除零错导致军舰推进系统洋舰约克敦号上的一起事故,除零错导致军舰推进系统洋舰约克敦号上的一起事故,除零错导致军舰推进系统洋舰约克敦号上的一起事故,除零错导致军舰推进系统的关闭的关闭

32、的关闭的关闭 如果要求程序能进行浮点数的算术运算,语句如果要求程序能进行浮点数的算术运算,语句如果要求程序能进行浮点数的算术运算,语句如果要求程序能进行浮点数的算术运算,语句 if if (0 = data2)(0 = data2)还能用于比较实型变量还能用于比较实型变量还能用于比较实型变量还能用于比较实型变量data2data2和和和和常数常数常数常数0 0的大小吗?的大小吗?的大小吗?的大小吗?if (if (fabsfabs(data2) = 1e-7)(data2) = 1e-7) 如果要求输入的算术表达式中的操作数和运算符之如果要求输入的算术表达式中的操作数和运算符之如果要求输入的算

33、术表达式中的操作数和运算符之如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多个空格符,那么程序如何修改?间可以加入任意多个空格符,那么程序如何修改?间可以加入任意多个空格符,那么程序如何修改?间可以加入任意多个空格符,那么程序如何修改?scanf(%d%scanf(%d%c c%d, &data1, &op, &data2);%d, &data1, &op, &data2);scanf(%d%scanf(%d%1s1s%d, &data1, &op, &data2);%d, &data1, &op, &data2);实验实验实验实验2 2:选择结构编程练习:选择结构编程练习:选择结

34、构编程练习:选择结构编程练习简单的计算器程序简单的计算器程序简单的计算器程序简单的计算器程序 2024/9/15C语言大学实用教程课件 制作人苏小红17实验实验实验实验3 3:循环结构编程练习:循环结构编程练习:循环结构编程练习:循环结构编程练习猜数游戏猜数游戏猜数游戏猜数游戏 在这个实验中,我们将尝试编写一个猜数游戏程序,在这个实验中,我们将尝试编写一个猜数游戏程序,在这个实验中,我们将尝试编写一个猜数游戏程序,在这个实验中,我们将尝试编写一个猜数游戏程序,这个程序看上去有些难度,但是如果你按下列要求这个程序看上去有些难度,但是如果你按下列要求这个程序看上去有些难度,但是如果你按下列要求这个

35、程序看上去有些难度,但是如果你按下列要求以循序渐进方式进行编程实现,你就会发现其实这以循序渐进方式进行编程实现,你就会发现其实这以循序渐进方式进行编程实现,你就会发现其实这以循序渐进方式进行编程实现,你就会发现其实这个程序是很容易实现的。先编写第一个程序,然后个程序是很容易实现的。先编写第一个程序,然后个程序是很容易实现的。先编写第一个程序,然后个程序是很容易实现的。先编写第一个程序,然后试着在第一个程序的基础上编写第二个程序,试着在第一个程序的基础上编写第二个程序,试着在第一个程序的基础上编写第二个程序,试着在第一个程序的基础上编写第二个程序,。 程序程序程序程序1 1:编程先编程先编程先编

36、程先由计算机由计算机由计算机由计算机“ “想想想想” ”一个一个一个一个1 1到到到到100100之间的之间的之间的之间的数数数数请人猜,如果人猜对了,则计算机给出提示:请人猜,如果人猜对了,则计算机给出提示:请人猜,如果人猜对了,则计算机给出提示:请人猜,如果人猜对了,则计算机给出提示:“ “Right!”Right!”, 否则提示:否则提示:否则提示:否则提示:“ “Wrong!”Wrong!”,并告诉人所,并告诉人所,并告诉人所,并告诉人所猜的数是大猜的数是大猜的数是大猜的数是大(Too high)(Too high)还是小还是小还是小还是小(Too low)(Too low),然后结束

37、,然后结束,然后结束,然后结束游戏。要求每次运行程序时机器所游戏。要求每次运行程序时机器所游戏。要求每次运行程序时机器所游戏。要求每次运行程序时机器所“ “想想想想” ”的数不能的数不能的数不能的数不能都是一样的。都是一样的。都是一样的。都是一样的。 2024/9/15C语言大学实用教程课件 制作人苏小红18猜数游戏用到的库函数猜数游戏用到的库函数猜数游戏用到的库函数猜数游戏用到的库函数 随机函数随机函数随机函数随机函数srandsrand为函数为函数为函数为函数rand()rand()设置随机数种子来实现对函数设置随机数种子来实现对函数设置随机数种子来实现对函数设置随机数种子来实现对函数ra

38、ndrand所产所产所产所产生的伪随机数的生的伪随机数的生的伪随机数的生的伪随机数的 “ “随机化随机化随机化随机化” ” 通过键入随机数种子,产生通过键入随机数种子,产生通过键入随机数种子,产生通过键入随机数种子,产生0,1000,100之间之间之间之间的随机数的随机数的随机数的随机数scanf(%u, &seed); scanf(%u, &seed); srand(seed); srand(seed); magic = rand() % 100 + 1; magic = rand() % 100 + 1; 2024/9/15C语言大学实用教程课件 制作人苏小红19# #includeinc

39、lude # #includeinclude main()main() intint magic; magic; intint guess; guess; intint counter; counter; unsigned intunsigned int seed;seed; printf(Please enter seed:);printf(Please enter seed:);scanf(%u, &seed);scanf(%u, &seed);srand(seed);srand(seed);magic = rand() % 100 + 1; magic = rand() % 100 +

40、1; counter = 0; counter = 0; dodo printf(Please guess a magic number:);printf(Please guess a magic number:);scanf(%d, &guess); scanf(%d, &guess); counter +; counter +; ifif (guess magic) (guess magic) printf(Wrong! Too high!n);printf(Wrong! Too high!n);else ifelse if (guess magic) (guess magic) prin

41、tf(Wrong! Too low!n);printf(Wrong! Too low!n); whilewhile (guess != magic); (guess != magic); printf(Right!n); printf(Right!n); printf(counter = %d n, counter); printf(counter = %d n, counter); 2024/9/15C语言大学实用教程课件 制作人苏小红20猜数游戏用到的库函数猜数游戏用到的库函数猜数游戏用到的库函数猜数游戏用到的库函数 使用计算机读取其时钟值并把该值自动设置为随机使用计算机读取其时钟值并把该

42、值自动设置为随机使用计算机读取其时钟值并把该值自动设置为随机使用计算机读取其时钟值并把该值自动设置为随机数种子,产生数种子,产生数种子,产生数种子,产生0,1000,100之间之间之间之间的随机数的随机数的随机数的随机数 函数函数函数函数time()time()返回以秒计算的当前时间值,该值被返回以秒计算的当前时间值,该值被返回以秒计算的当前时间值,该值被返回以秒计算的当前时间值,该值被转换为无符号整数并用作随机数发生器的种子转换为无符号整数并用作随机数发生器的种子转换为无符号整数并用作随机数发生器的种子转换为无符号整数并用作随机数发生器的种子 #include #include srand(

43、time(NULLsrand(time(NULL); ); magic = rand() % 100 + 1; magic = rand() % 100 + 1; 2024/9/15C语言大学实用教程课件 制作人苏小红21# #includeinclude # #includeinclude # #includeinclude main()main() intint magic; magic; intint guess; guess; int counter; int counter; srand(time(NULL);srand(time(NULL);magic = rand() % 100

44、 + 1; magic = rand() % 100 + 1; counter = 0; counter = 0; dodo printf(Please guess a magic number:);printf(Please guess a magic number:);scanf(%d, &guess); scanf(%d, &guess); counter +; counter +; ifif (guess magic) (guess magic) printf(Wrong! Too high!n);printf(Wrong! Too high!n);else ifelse if (gu

45、ess magic) (guess magic) printf(Wrong! Too low!n);printf(Wrong! Too low!n); whilewhile (guess != magic); (guess != magic); printf(Right!n); printf(Right!n); printf(counter = %d n, counter); printf(counter = %d n, counter); 2024/9/15C语言大学实用教程课件 制作人苏小红22 程序程序程序程序2 2:编程先由计算机编程先由计算机编程先由计算机编程先由计算机“ “想想想想

46、” ”一个一个一个一个1 1到到到到100100之之之之间的数请人猜,间的数请人猜,间的数请人猜,间的数请人猜,如果人猜对了,则结束游戏,如果人猜对了,则结束游戏,如果人猜对了,则结束游戏,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以并在屏幕上输出人猜了多少次才猜对此数,以并在屏幕上输出人猜了多少次才猜对此数,以并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者此来反映猜数者此来反映猜数者此来反映猜数者“ “猜猜猜猜” ”的水平的水平的水平的水平,否则计算机给,否则计算机给,否则计算机给,否则计算机给出提示,告诉人所猜的数是太大还是太小,直出提示,告诉人所猜的数是太大

47、还是太小,直出提示,告诉人所猜的数是太大还是太小,直出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。到人猜对为止。到人猜对为止。到人猜对为止。 实验实验实验实验3 3:循环结构编程练习:循环结构编程练习:循环结构编程练习:循环结构编程练习猜数游戏猜数游戏猜数游戏猜数游戏 2024/9/15C语言大学实用教程课件 制作人苏小红23 程序程序程序程序3 3:编程先由计算机编程先由计算机编程先由计算机编程先由计算机“ “想想想想” ”一个一个一个一个1 1到到到到100100之之之之间的数请人猜,如果人猜对了,则结束游戏,间的数请人猜,如果人猜对了,则结束游戏,间的数请人猜,如果人猜对了,则结

48、束游戏,间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以并在屏幕上输出人猜了多少次才猜对此数,以并在屏幕上输出人猜了多少次才猜对此数,以并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者此来反映猜数者此来反映猜数者此来反映猜数者“ “猜猜猜猜” ”的水平,否则计算机给的水平,否则计算机给的水平,否则计算机给的水平,否则计算机给出提示,告诉人所猜的数是太大还是太小,出提示,告诉人所猜的数是太大还是太小,出提示,告诉人所猜的数是太大还是太小,出提示,告诉人所猜的数是太大还是太小,最最最最多可以猜多可以猜多可以猜多可以猜1010次,如果猜了次,如果猜了次,如果猜了

49、次,如果猜了1010次仍未猜中的话,次仍未猜中的话,次仍未猜中的话,次仍未猜中的话,则结束游戏。则结束游戏。则结束游戏。则结束游戏。 实验实验实验实验3 3:循环结构编程练习:循环结构编程练习:循环结构编程练习:循环结构编程练习猜数游戏猜数游戏猜数游戏猜数游戏 2024/9/15C语言大学实用教程课件 制作人苏小红24# #includeinclude # #includeinclude # #includeinclude main()main() intint magic; magic; intint guess; guess; intint counter; counter; srand(

50、time(NULL); srand(time(NULL); magic = rand() % 100 + 1; magic = rand() % 100 + 1; counter = 0; counter = 0; dodo printf(Please guess a magic number:);printf(Please guess a magic number:);scanf(%d, &guess); scanf(%d, &guess); counter +; counter +; ifif (guess magic) (guess magic) printf(Wrong! Too hi

51、gh!n);printf(Wrong! Too high!n);else ifelse if (guess magic) (guess magic) printf(Wrong! Too low!n);printf(Wrong! Too low!n);elseelseprintf(Right!n);printf(Right!n); whilewhile (guess != magic) (guess != magic) & (counter 10)& (counter 10); ); printf(counter = %d n, counter); printf(counter = %d n,

52、counter); 2024/9/15C语言大学实用教程课件 制作人苏小红25 程序程序程序程序4 4:编程先由计算机编程先由计算机编程先由计算机编程先由计算机“ “想想想想” ”一个一个一个一个1 1到到到到100100之间的数之间的数之间的数之间的数请人猜,如果人猜对了,并在屏幕上输出人猜了多请人猜,如果人猜对了,并在屏幕上输出人猜了多请人猜,如果人猜对了,并在屏幕上输出人猜了多请人猜,如果人猜对了,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者少次才猜对此数,以此来反映猜数者少次才猜对此数,以此来反映猜数者少次才猜对此数,以此来反映猜数者“ “猜猜猜猜” ”的水平,的水平,的水平

53、,的水平,且结束游戏,否则计算机给出提示,告诉人所猜的且结束游戏,否则计算机给出提示,告诉人所猜的且结束游戏,否则计算机给出提示,告诉人所猜的且结束游戏,否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜数是太大还是太小,最多可以猜数是太大还是太小,最多可以猜数是太大还是太小,最多可以猜1010次,次,次,次,如果猜了如果猜了如果猜了如果猜了1010次仍未猜中的话,则停止本次猜数,然后继续猜下次仍未猜中的话,则停止本次猜数,然后继续猜下次仍未猜中的话,则停止本次猜数,然后继续猜下次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操一个数。每次运行程

54、序可以反复猜多个数,直到操一个数。每次运行程序可以反复猜多个数,直到操一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。作者想停止时才结束。作者想停止时才结束。作者想停止时才结束。 实验实验实验实验3 3:循环结构编程练习:循环结构编程练习:循环结构编程练习:循环结构编程练习猜数游戏猜数游戏猜数游戏猜数游戏 2024/9/15C语言大学实用教程课件 制作人苏小红26实验实验实验实验4 4:函数编程练习:函数编程练习:函数编程练习:函数编程练习小学生加法考试题小学生加法考试题小学生加法考试题小学生加法考试题 程序程序程序程序1 1: 通过输入两个加数给学生出一道加法运算题,如果通过

55、输入两个加数给学生出一道加法运算题,如果通过输入两个加数给学生出一道加法运算题,如果通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示输入答案正确,则显示输入答案正确,则显示输入答案正确,则显示“ “Right!”Right!”,否则显示,否则显示,否则显示,否则显示“ “Not Not correct! Try again!”correct! Try again!”;2024/9/15C语言大学实用教程课件 制作人苏小红27实验实验实验实验4 4:函数编程练习:函数编程练习:函数编程练习:函数编程练习小学生加法考试题小学生加法考试题小学生加法考试题小学生加法考试题/* /* 函

56、数功能:函数功能:函数功能:函数功能: 计算两整型数之和,如果与用户输入的答案相同,则返回计算两整型数之和,如果与用户输入的答案相同,则返回计算两整型数之和,如果与用户输入的答案相同,则返回计算两整型数之和,如果与用户输入的答案相同,则返回1 1,否则返回,否则返回,否则返回,否则返回0 0 函数参数:函数参数:函数参数:函数参数: 整型变量整型变量整型变量整型变量a a和和和和b b,分别代表被加数和加数,分别代表被加数和加数,分别代表被加数和加数,分别代表被加数和加数 函数返回值:当函数返回值:当函数返回值:当函数返回值:当a a加加加加b b的结果与用户输入的答案相同时,返回的结果与用户

57、输入的答案相同时,返回的结果与用户输入的答案相同时,返回的结果与用户输入的答案相同时,返回1 1,否则返回,否则返回,否则返回,否则返回0 0*/*/intint AddTest( AddTest(intint a, a, intint b) b) intint answer; answer;printf(%d+%d=, a, b);printf(%d+%d=, a, b);scanf(%d, &answer);scanf(%d, &answer);ifif (a+b = answer) (a+b = answer) returnreturn 1; 1;elseelse returnretur

58、n 0; 0; void Print(int flag)void Print(int flag) if (flag) if (flag) printf(Right!n); printf(Right!n); else else printf(Not correct!n); printf(Not correct!n); 2024/9/15C语言大学实用教程课件 制作人苏小红28实验实验实验实验4 4:函数编程练习:函数编程练习:函数编程练习:函数编程练习小学生加法考试题小学生加法考试题小学生加法考试题小学生加法考试题 程序程序程序程序2 2: 通过输入两个加数给学生出一道加法运算题,如果通过输入两

59、个加数给学生出一道加法运算题,如果通过输入两个加数给学生出一道加法运算题,如果通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示输入答案正确,则显示输入答案正确,则显示输入答案正确,则显示“ “Right!”Right!”,否则显示,否则显示,否则显示,否则显示“ “Not Not correct! Try again!”correct! Try again!”,直到做对为止直到做对为止直到做对为止直到做对为止;2024/9/15C语言大学实用教程课件 制作人苏小红29main() int a, b, answer; printf( Input a,b: ); scanf( %d

60、,%d , &a, &b); answer = AddTest(a, b); Print(answer);do while (answer = 0);实验实验实验实验4 4:函数编程练习:函数编程练习:函数编程练习:函数编程练习小学生加法考试题小学生加法考试题小学生加法考试题小学生加法考试题 2024/9/15C语言大学实用教程课件 制作人苏小红30实验实验实验实验4 4:函数编程练习:函数编程练习:函数编程练习:函数编程练习小学生加法考试题小学生加法考试题小学生加法考试题小学生加法考试题 程序程序程序程序3 3: 通过输入两个加数给学生出一道加法运算题,如果通过输入两个加数给学生出一道加法运

61、算题,如果通过输入两个加数给学生出一道加法运算题,如果通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示输入答案正确,则显示输入答案正确,则显示输入答案正确,则显示“ “Right!”Right!”,否则提示重做,否则提示重做,否则提示重做,否则提示重做,显示显示显示显示“ “Not correct! Try again!”Not correct! Try again!”,最多给三次机会最多给三次机会最多给三次机会最多给三次机会,如果三次仍未做对,则显示如果三次仍未做对,则显示如果三次仍未做对,则显示如果三次仍未做对,则显示“ “Not correct. You have Not

62、 correct. You have tried three times! Test over!”tried three times! Test over!”程序结束;程序结束;程序结束;程序结束;2024/9/15C语言大学实用教程课件 制作人苏小红31main() answer = AddTest(a, b); Print(answer, chance); chance = 0; do chance+; while (answer = 0 & chance 3);实验实验实验实验4 4:函数编程练习:函数编程练习:函数编程练习:函数编程练习小学生加法考试题小学生加法考试题小学生加法考试题小

63、学生加法考试题 2024/9/15C语言大学实用教程课件 制作人苏小红32实验实验实验实验4 4:函数编程练习:函数编程练习:函数编程练习:函数编程练习小学生加法考试题小学生加法考试题小学生加法考试题小学生加法考试题 程序程序程序程序4 4: 连续做连续做连续做连续做1010道题,通过计算机随机产生两个道题,通过计算机随机产生两个道题,通过计算机随机产生两个道题,通过计算机随机产生两个110110之间之间之间之间的加数的加数的加数的加数给学生出一道加法运算题,如果输入答案正给学生出一道加法运算题,如果输入答案正给学生出一道加法运算题,如果输入答案正给学生出一道加法运算题,如果输入答案正确,则显

64、示确,则显示确,则显示确,则显示“ “Right!”Right!”,否则显示,否则显示,否则显示,否则显示“ “Not correct!”Not correct!”,不给机会重做,不给机会重做,不给机会重做,不给机会重做,1010道题做完后,道题做完后,道题做完后,道题做完后,按每题按每题按每题按每题1010分统计总分统计总分统计总分统计总得分,然后打印出总分和做错的题目数量。得分,然后打印出总分和做错的题目数量。得分,然后打印出总分和做错的题目数量。得分,然后打印出总分和做错的题目数量。2024/9/15C语言大学实用教程课件 制作人苏小红33 srand(time(NULL); error

65、 = 0; score = 0; for (i=0; i10; i+) a = rand()%10 + 1; b = rand()%10 + 1; answer = AddTest(a, b); Print(answer); if (answer = 1) score = score + 10; else error+; 实验实验实验实验4 4:函数编程练习:函数编程练习:函数编程练习:函数编程练习小学生加法考试题小学生加法考试题小学生加法考试题小学生加法考试题 2024/9/15C语言大学实用教程课件 制作人苏小红34实验实验实验实验5 5:数组编程练习:数组编程练习:数组编程练习:数组编程

66、练习检验并打印魔方矩阵检验并打印魔方矩阵检验并打印魔方矩阵检验并打印魔方矩阵 在下面的在下面的在下面的在下面的5555魔方矩阵中,每一行、每一列、每一对角魔方矩阵中,每一行、每一列、每一对角魔方矩阵中,每一行、每一列、每一对角魔方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些魔方矩线上的元素之和都是相等的,试编写程序将这些魔方矩线上的元素之和都是相等的,试编写程序将这些魔方矩线上的元素之和都是相等的,试编写程序将这些魔方矩阵中的元素读到一个二维整型数组中,然后,检验其是阵中的元素读到一个二维整型数组中,然后,检验其是阵中的元素读到一个二维整型数组中,然后,检验其是阵

67、中的元素读到一个二维整型数组中,然后,检验其是否为魔方矩阵,并将其按如下格式显示到屏幕上。否为魔方矩阵,并将其按如下格式显示到屏幕上。否为魔方矩阵,并将其按如下格式显示到屏幕上。否为魔方矩阵,并将其按如下格式显示到屏幕上。 17241 8 15235 7 14164 6 1320221012192131118252 92024/9/15C语言大学实用教程课件 制作人苏小红35实验实验实验实验5 5:数组编程练习:数组编程练习:数组编程练习:数组编程练习餐饮服务质量调查打分餐饮服务质量调查打分餐饮服务质量调查打分餐饮服务质量调查打分 有有40个学生被邀请给自助餐厅的食品和服务质个学生被邀请给自助

68、餐厅的食品和服务质量打分(量打分(110等级),统计调查结果,并用等级),统计调查结果,并用*打印如下形式的统计结果直方图打印如下形式的统计结果直方图 Grade CountGrade CountHistogramHistogram 1 1 5 5* 2 2 10 10* 3 3 7 7* . .2024/9/15C语言大学实用教程课件 制作人苏小红36实验实验实验实验5 5:数组编程练习:数组编程练习:数组编程练习:数组编程练习餐饮服务质量调查打分餐饮服务质量调查打分餐饮服务质量调查打分餐饮服务质量调查打分 提示提示定义数组定义数组定义数组定义数组scorescore存放打的分数存放打的分数

69、存放打的分数存放打的分数定义数组定义数组定义数组定义数组countcount为计数器为计数器为计数器为计数器(count0(count0不用不用不用不用) )计算统计结果:设置一个循环,依次检查数组元素值计算统计结果:设置一个循环,依次检查数组元素值计算统计结果:设置一个循环,依次检查数组元素值计算统计结果:设置一个循环,依次检查数组元素值scoreiscorei ,是,是,是,是1 1则将数组元素则将数组元素则将数组元素则将数组元素count1count1加加加加1 1,是,是,是,是2 2则将数则将数则将数则将数组元素组元素组元素组元素count2count2加加加加1 1,依此类推,依此

70、类推,依此类推,依此类推forfor (i=0; iSTUDENTS; i+) (i=0; iSTUDENTS; i+) countscorei +;countscorei +; 打印统计结果,设置一个循环,按打印统计结果,设置一个循环,按打印统计结果,设置一个循环,按打印统计结果,设置一个循环,按countcount数组元素的值,数组元素的值,数组元素的值,数组元素的值,打印相应个数的符号打印相应个数的符号打印相应个数的符号打印相应个数的符号*2024/9/15C语言大学实用教程课件 制作人苏小红37实验实验实验实验6 6:一维数组和函数综合编程:一维数组和函数综合编程:一维数组和函数综合编

71、程:一维数组和函数综合编程练习练习练习练习 学生成绩统计学生成绩统计学生成绩统计学生成绩统计 从键盘输入一个班(全班最多不超过从键盘输入一个班(全班最多不超过从键盘输入一个班(全班最多不超过从键盘输入一个班(全班最多不超过3030人)学人)学人)学人)学生某门课的成绩,当输入成绩为负值时,输入生某门课的成绩,当输入成绩为负值时,输入生某门课的成绩,当输入成绩为负值时,输入生某门课的成绩,当输入成绩为负值时,输入结束,分别统计下列内容:结束,分别统计下列内容:结束,分别统计下列内容:结束,分别统计下列内容:(1 1)统计不及格人数并打印不及格学生名单;)统计不及格人数并打印不及格学生名单;)统计

72、不及格人数并打印不及格学生名单;)统计不及格人数并打印不及格学生名单;(2 2)统计成绩在全班平均分及平均分之上的学生)统计成绩在全班平均分及平均分之上的学生)统计成绩在全班平均分及平均分之上的学生)统计成绩在全班平均分及平均分之上的学生人数并打印其学生名单;人数并打印其学生名单;人数并打印其学生名单;人数并打印其学生名单;(3 3)统计各分数段的学生人数及所占的百分比;)统计各分数段的学生人数及所占的百分比;)统计各分数段的学生人数及所占的百分比;)统计各分数段的学生人数及所占的百分比; 2024/9/15C语言大学实用教程课件 制作人苏小红38实验实验实验实验6 6:一维数组和函数综合编程

73、:一维数组和函数综合编程:一维数组和函数综合编程:一维数组和函数综合编程练习练习练习练习 学生成绩统计学生成绩统计学生成绩统计学生成绩统计 提示:提示:提示:提示:(1 1)用)用)用)用numinumi 存放第存放第存放第存放第i+1i+1个学生的学号,用个学生的学号,用个学生的学号,用个学生的学号,用scoreiscorei 存放存放存放存放第第第第i+1i+1个学生的成绩。设置计数器个学生的成绩。设置计数器个学生的成绩。设置计数器个学生的成绩。设置计数器countcount,当,当,当,当scoreiscorei60=aver=aver时,打印时,打印时,打印时,打印numinumi 和

74、和和和scoreiscorei 。(3 3)将成绩分为六个分数段,)将成绩分为六个分数段,)将成绩分为六个分数段,)将成绩分为六个分数段,6060分以下为第分以下为第分以下为第分以下为第0 0段,段,段,段,60696069为第为第为第为第1 1段,段,段,段,70797079为第为第为第为第2 2段,段,段,段,80898089为第为第为第为第3 3段,段,段,段,90999099为第为第为第为第4 4段,段,段,段,100100分为第分为第分为第分为第5 5段,因此,成绩与分数段的对应段,因此,成绩与分数段的对应段,因此,成绩与分数段的对应段,因此,成绩与分数段的对应关系为:关系为:关系为

75、:关系为: 各分数段的学生人数保存在数组各分数段的学生人数保存在数组各分数段的学生人数保存在数组各分数段的学生人数保存在数组stustu中,用中,用中,用中,用stuistui 存放第存放第存放第存放第i i段的学段的学段的学段的学生人数。对于每个学生的成绩,先计算出该成绩所对应的分生人数。对于每个学生的成绩,先计算出该成绩所对应的分生人数。对于每个学生的成绩,先计算出该成绩所对应的分生人数。对于每个学生的成绩,先计算出该成绩所对应的分数段,然后将相应的分数段的人数加数段,然后将相应的分数段的人数加数段,然后将相应的分数段的人数加数段,然后将相应的分数段的人数加1 1,即,即,即,即stuis

76、tui+。 2024/9/15C语言大学实用教程课件 制作人苏小红39实验实验实验实验7 7:二维数组、函数和常用算:二维数组、函数和常用算:二维数组、函数和常用算:二维数组、函数和常用算法综合编程练习法综合编程练习法综合编程练习法综合编程练习 成绩排名次成绩排名次成绩排名次成绩排名次 某班期末考试科目为数学某班期末考试科目为数学某班期末考试科目为数学某班期末考试科目为数学(MT)(MT)、英语、英语、英语、英语(EN)(EN)和和和和物理物理物理物理(PH)(PH),有最多不超过,有最多不超过,有最多不超过,有最多不超过3030人参加考试。考试人参加考试。考试人参加考试。考试人参加考试。考试

77、后要求:后要求:后要求:后要求:(1 1)计算每个学生的总分和平均分;)计算每个学生的总分和平均分;)计算每个学生的总分和平均分;)计算每个学生的总分和平均分;(2 2)按总分成绩由高到低排出成绩的名次;)按总分成绩由高到低排出成绩的名次;)按总分成绩由高到低排出成绩的名次;)按总分成绩由高到低排出成绩的名次;(3 3)打印出名次表,表格内包括学生编号、各科)打印出名次表,表格内包括学生编号、各科)打印出名次表,表格内包括学生编号、各科)打印出名次表,表格内包括学生编号、各科分数、总分和平均分;分数、总分和平均分;分数、总分和平均分;分数、总分和平均分;(4 4)任意输入一个学号,能够查找出该

78、学生在班)任意输入一个学号,能够查找出该学生在班)任意输入一个学号,能够查找出该学生在班)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数级中的排名及其考试分数级中的排名及其考试分数级中的排名及其考试分数 2024/9/15C语言大学实用教程课件 制作人苏小红40实验实验实验实验7 7:二维数组、函数和常用算:二维数组、函数和常用算:二维数组、函数和常用算:二维数组、函数和常用算法综合编程练习法综合编程练习法综合编程练习法综合编程练习 成绩排名次成绩排名次成绩排名次成绩排名次 提示:用二维数组提示:用二维数组提示:用二维数组提示:用二维数组scorescore存放每个学生各门课程的

79、成存放每个学生各门课程的成存放每个学生各门课程的成存放每个学生各门课程的成绩,用一维数组绩,用一维数组绩,用一维数组绩,用一维数组numnum存放每个学生的学号,用一维存放每个学生的学号,用一维存放每个学生的学号,用一维存放每个学生的学号,用一维数组数组数组数组sumsum存放每个学生的总分,用一维数组存放每个学生的总分,用一维数组存放每个学生的总分,用一维数组存放每个学生的总分,用一维数组averaver存放存放存放存放每个学生的平均分。每个学生的平均分。每个学生的平均分。每个学生的平均分。(1 1)用函数编程实现计算每个学生的总分;)用函数编程实现计算每个学生的总分;)用函数编程实现计算每

80、个学生的总分;)用函数编程实现计算每个学生的总分;(2 2)用函数编程实现按总分由高到低对学生成绩排序,)用函数编程实现按总分由高到低对学生成绩排序,)用函数编程实现按总分由高到低对学生成绩排序,)用函数编程实现按总分由高到低对学生成绩排序,注意:排序时,一维数组注意:排序时,一维数组注意:排序时,一维数组注意:排序时,一维数组sumsum元素的变化应连同二维数组元素的变化应连同二维数组元素的变化应连同二维数组元素的变化应连同二维数组scorescore和一维数组和一维数组和一维数组和一维数组numnum和和和和averaver一起变化;一起变化;一起变化;一起变化;(3 3)用函数编程实现查

81、找学号为)用函数编程实现查找学号为)用函数编程实现查找学号为)用函数编程实现查找学号为k k的学生在班级中的排的学生在班级中的排的学生在班级中的排的学生在班级中的排名名次及相关成绩等信息,找不到时返回名名次及相关成绩等信息,找不到时返回名名次及相关成绩等信息,找不到时返回名名次及相关成绩等信息,找不到时返回-1-1值。值。值。值。 2024/9/15C语言大学实用教程课件 制作人苏小红41实验实验实验实验8 8:数组、指针和函数综合编:数组、指针和函数综合编:数组、指针和函数综合编:数组、指针和函数综合编程练习程练习程练习程练习 打印最高分和学号打印最高分和学号打印最高分和学号打印最高分和学号

82、 假设每班人数最多不超过假设每班人数最多不超过假设每班人数最多不超过假设每班人数最多不超过4040人,具体人数由键人,具体人数由键人,具体人数由键人,具体人数由键盘输入,试编程打印最高分及其学号。盘输入,试编程打印最高分及其学号。盘输入,试编程打印最高分及其学号。盘输入,试编程打印最高分及其学号。 程序程序程序程序1 1:用一维数组和指针变量作函数参数:用一维数组和指针变量作函数参数:用一维数组和指针变量作函数参数:用一维数组和指针变量作函数参数,编程打印某班一门课成绩的最高分和学号。编程打印某班一门课成绩的最高分和学号。编程打印某班一门课成绩的最高分和学号。编程打印某班一门课成绩的最高分和学

83、号。int FindMax(int score, long num, int FindMax(int score, long num, int n, long *pMaxNum);int n, long *pMaxNum); 2024/9/15C语言大学实用教程课件 制作人苏小红42/* /* 函数功能:函数功能:函数功能:函数功能:计计算最高分及最高分学生的学号算最高分及最高分学生的学号算最高分及最高分学生的学号算最高分及最高分学生的学号 函数参数:整型数函数参数:整型数函数参数:整型数函数参数:整型数组组scorescore,存,存,存,存储储学生的成学生的成学生的成学生的成绩绩 长长整型

84、数整型数整型数整型数组组numnum,存,存,存,存储储学生的学号学生的学号学生的学号学生的学号 长长整型指整型指整型指整型指针变针变量量量量pMaxNumpMaxNum,存,存,存,存储储求出来的最高分学生的学号求出来的最高分学生的学号求出来的最高分学生的学号求出来的最高分学生的学号 函数返回函数返回函数返回函数返回值值:最高分:最高分:最高分:最高分* */ /int FindMax(int score, long num, int n, long *pMaxNum) int FindMax(int score, long num, int n, long *pMaxNum) int i;

85、int i;int maxScore;int maxScore;maxScore = score0;maxScore = score0;*pMaxNum = num0; *pMaxNum = num0; for (i=1; in; i+) for (i=1; i maxScore) if (scorei maxScore) maxScore = scorei; maxScore = scorei; *pMaxNum = numi; *pMaxNum = numi; return (maxScore); return (maxScore); 2024/9/15C语言大学实用教程课件 制作人苏小红

86、43实验实验实验实验8 8:数组、指针和函数综合编:数组、指针和函数综合编:数组、指针和函数综合编:数组、指针和函数综合编程练习程练习程练习程练习 打印最高分和学号打印最高分和学号打印最高分和学号打印最高分和学号 程序程序程序程序2 2:用二维数组和指针变量作函数参数:用二维数组和指针变量作函数参数:用二维数组和指针变量作函数参数:用二维数组和指针变量作函数参数,编程打印编程打印编程打印编程打印3 3个班学生(假设每班个班学生(假设每班个班学生(假设每班个班学生(假设每班4 4个学生)的某个学生)的某个学生)的某个学生)的某门课成绩的最高分,并指出具有该最高分成绩门课成绩的最高分,并指出具有该

87、最高分成绩门课成绩的最高分,并指出具有该最高分成绩门课成绩的最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。的学生是第几个班的第几个学生。的学生是第几个班的第几个学生。的学生是第几个班的第几个学生。intint FindMax(intFindMax(int scoreCLASSSTUscoreCLASSSTU, , intint m, m, intint * *pRowpRow, , intint * *pColpCol); ); 2024/9/15C语言大学实用教程课件 制作人苏小红44int FindMax(int scoreSTU, int m, int *pRow, int

88、 *pCol) int FindMax(int scoreSTU, int m, int *pRow, int *pCol) int i, j, maxScore;int i, j, maxScore;maxScore = score00; maxScore = score00; *pRow = 0; *pRow = 0; *pCol = 0; *pCol = 0; for (i = 0; im; i+)for (i = 0; im; i+) for (j = 0; jSTU; j+)for (j = 0; j maxScore) if (scoreij maxScore) maxScore

89、= scoreij; maxScore = scoreij; *pRow = i; *pRow = i; *pCol = j; *pCol = j; return (maxScore); return (maxScore); 实验实验实验实验8 8:数组、指针和函数综合编:数组、指针和函数综合编:数组、指针和函数综合编:数组、指针和函数综合编程练习程练习程练习程练习 打印最高分和学号打印最高分和学号打印最高分和学号打印最高分和学号 2024/9/15C语言大学实用教程课件 制作人苏小红45实验实验实验实验8 8:数组、指针和函数综合编:数组、指针和函数综合编:数组、指针和函数综合编:数组、指针

90、和函数综合编程练习程练习程练习程练习 打印最高分和学号打印最高分和学号打印最高分和学号打印最高分和学号 程序程序程序程序3 3:用指向二维数组第:用指向二维数组第:用指向二维数组第:用指向二维数组第0 0行第行第行第行第0 0列元素的指列元素的指列元素的指列元素的指针作函数参数针作函数参数针作函数参数针作函数参数,编写一个能计算任意,编写一个能计算任意,编写一个能计算任意,编写一个能计算任意mm行行行行n n列列列列的二维数组中的最大值,并指出其所在的行列的二维数组中的最大值,并指出其所在的行列的二维数组中的最大值,并指出其所在的行列的二维数组中的最大值,并指出其所在的行列下标值的函数,下标值

91、的函数,下标值的函数,下标值的函数,利用该函数计算利用该函数计算利用该函数计算利用该函数计算3 3个班学生个班学生个班学生个班学生(假设每班(假设每班(假设每班(假设每班4 4个学生)的某门课成绩的最高分个学生)的某门课成绩的最高分个学生)的某门课成绩的最高分个学生)的某门课成绩的最高分,并指出具有该最高分成绩的学生是第几个班的并指出具有该最高分成绩的学生是第几个班的并指出具有该最高分成绩的学生是第几个班的并指出具有该最高分成绩的学生是第几个班的第几个学生。第几个学生。第几个学生。第几个学生。intint FindMax(intFindMax(int *p, *p, intint m, m,

92、intint n, n, intint * *pRowpRow, , intint * *pColpCol); ); 2024/9/15C语言大学实用教程课件 制作人苏小红46int FindMax(int *p, int m, int n, int *pRow, int *pCol) int FindMax(int *p, int m, int n, int *pRow, int *pCol) int i, j, maxScore; int i, j, maxScore; maxScore = p0; maxScore = p0; *pRow = 0; *pRow = 0; *pCol =

93、0; *pCol = 0; for (i = 0; im; i+) for (i = 0; im; i+) for (j = 0; jn; j+)for (j = 0; j maxScore) if (pi*n+j maxScore) maxScore = pi*n+j; maxScore = pi*n+j; *pRow = i; *pRow = i; *pCol = j; *pCol = j; return (maxScore); return (maxScore); 实验实验实验实验8 8:数组、指针和函数综合编:数组、指针和函数综合编:数组、指针和函数综合编:数组、指针和函数综合编程练习

94、程练习程练习程练习 打印最高分和学号打印最高分和学号打印最高分和学号打印最高分和学号 2024/9/15C语言大学实用教程课件 制作人苏小红47实验实验实验实验8 8:数组、指针和函数综合编:数组、指针和函数综合编:数组、指针和函数综合编:数组、指针和函数综合编程练习程练习程练习程练习 打印最高分和学号打印最高分和学号打印最高分和学号打印最高分和学号 程序程序程序程序4 4:编写一个能计算编写一个能计算编写一个能计算编写一个能计算任意任意任意任意mm行行行行n n列列列列的二维数的二维数的二维数的二维数组中的最大值,并指出其所在的行列下标值的组中的最大值,并指出其所在的行列下标值的组中的最大值

95、,并指出其所在的行列下标值的组中的最大值,并指出其所在的行列下标值的函数,利用该函数和函数,利用该函数和函数,利用该函数和函数,利用该函数和动态内存分配动态内存分配动态内存分配动态内存分配方法,方法,方法,方法,计算计算计算计算任意任意任意任意mm个班、每班个班、每班个班、每班个班、每班n n个学生的某门课成绩的最个学生的某门课成绩的最个学生的某门课成绩的最个学生的某门课成绩的最高分高分高分高分,并指出具有该最高分成绩的学生是第几,并指出具有该最高分成绩的学生是第几,并指出具有该最高分成绩的学生是第几,并指出具有该最高分成绩的学生是第几个班的第几个学生。个班的第几个学生。个班的第几个学生。个班

96、的第几个学生。 intint FindMax(intFindMax(int *p, *p, intint m, m, intint n, n, intint * *pRowpRow, , intint * *pColpCol); ); 2024/9/15C语言大学实用教程课件 制作人苏小红48实验实验实验实验9 9 9 9:结构体编程练习:结构体编程练习:结构体编程练习:结构体编程练习在屏幕上模拟显示一个数字式时钟在屏幕上模拟显示一个数字式时钟在屏幕上模拟显示一个数字式时钟在屏幕上模拟显示一个数字式时钟 定义一个时钟结构体类型:struct clock int hour; int minute

97、; int second;typedef struct clock CLOCK;然后,将下列用全局变量编写的时钟模拟显示程序改成用然后,将下列用全局变量编写的时钟模拟显示程序改成用CLOCK结构体变量类型重新编写。结构体变量类型重新编写。 时:分:秒时:分:秒2024/9/15C语言大学实用教程课件 制作人苏小红49voidvoid update(CLOCKupdate(CLOCK *t) *t) t-second+; t-second+; ifif (t-second = 60) (t-second = 60) t-second = 0; t-second = 0; t-minute+; t

98、-minute+; ifif (t-minute = 60) (t-minute = 60) t-minute = 0; t-minute = 0; t-hour+; t-hour+; ifif (t-hour = 24) (t-hour = 24) t-hour = 0; t-hour = 0; voidvoid display(CLOCKdisplay(CLOCK *t) *t) printf(%2d:%2d:%2dr, printf(%2d:%2d:%2dr, t-hour, t-hour, t-minute, t-minute, t-second); t-second); 实验实验实验

99、实验9 9 9 9:结构体编程练习:结构体编程练习:结构体编程练习:结构体编程练习在屏幕上模拟显示一个数字式时钟在屏幕上模拟显示一个数字式时钟在屏幕上模拟显示一个数字式时钟在屏幕上模拟显示一个数字式时钟2024/9/15C语言大学实用教程课件 制作人苏小红50实验实验实验实验1010:文件编程练习:文件编程练习:文件编程练习:文件编程练习 文件拷贝文件拷贝文件拷贝文件拷贝 程序程序程序程序1 1:根据程序提示根据程序提示根据程序提示根据程序提示从键盘输入一个已存在从键盘输入一个已存在从键盘输入一个已存在从键盘输入一个已存在的文本文件的完整文件名,并再输入一个新文的文本文件的完整文件名,并再输入

100、一个新文的文本文件的完整文件名,并再输入一个新文的文本文件的完整文件名,并再输入一个新文本文件的完整文件名本文件的完整文件名本文件的完整文件名本文件的完整文件名,然后编程将已存在文本,然后编程将已存在文本,然后编程将已存在文本,然后编程将已存在文本文件中的内容全部文件中的内容全部文件中的内容全部文件中的内容全部拷贝拷贝拷贝拷贝到新文本文件中去,利到新文本文件中去,利到新文本文件中去,利到新文本文件中去,利用文本编辑软件,通过查看文件内容验证程序用文本编辑软件,通过查看文件内容验证程序用文本编辑软件,通过查看文件内容验证程序用文本编辑软件,通过查看文件内容验证程序执行结果。执行结果。执行结果。执

101、行结果。2024/9/15C语言大学实用教程课件 制作人苏小红51实验实验实验实验1010:文件编程练习:文件编程练习:文件编程练习:文件编程练习 文件拷贝文件拷贝文件拷贝文件拷贝 程序程序程序程序2 2:模拟:模拟:模拟:模拟DOSDOS命令下的命令下的命令下的命令下的COPYCOPY命令,在命令,在命令,在命令,在DOSDOS状态下键入命令行,状态下键入命令行,状态下键入命令行,状态下键入命令行,以实现将一个已存在以实现将一个已存在以实现将一个已存在以实现将一个已存在文本文件中的内容全部文本文件中的内容全部文本文件中的内容全部文本文件中的内容全部拷贝拷贝拷贝拷贝到新文本文件中去,到新文本文

102、件中去,到新文本文件中去,到新文本文件中去,利用文本编辑软件,通过查看文件内容验证程利用文本编辑软件,通过查看文件内容验证程利用文本编辑软件,通过查看文件内容验证程利用文本编辑软件,通过查看文件内容验证程序执行结果。序执行结果。序执行结果。序执行结果。2024/9/15C语言大学实用教程课件 制作人苏小红52实验实验实验实验1010:文件编程练习:文件编程练习:文件编程练习:文件编程练习 文件拷贝文件拷贝文件拷贝文件拷贝 程序程序程序程序3 3:(选作)根据提示从键盘输入一个已(选作)根据提示从键盘输入一个已(选作)根据提示从键盘输入一个已(选作)根据提示从键盘输入一个已存在的文本文件的完整文

103、件名,并再输入另一存在的文本文件的完整文件名,并再输入另一存在的文本文件的完整文件名,并再输入另一存在的文本文件的完整文件名,并再输入另一个已存在的文本文件的完整文件名,然后编程个已存在的文本文件的完整文件名,然后编程个已存在的文本文件的完整文件名,然后编程个已存在的文本文件的完整文件名,然后编程将第一个文本文件的将第一个文本文件的将第一个文本文件的将第一个文本文件的内容追加内容追加内容追加内容追加到第二个文本文到第二个文本文到第二个文本文到第二个文本文件的原内容之后,件的原内容之后,件的原内容之后,件的原内容之后,利用文本编辑软件,通过查利用文本编辑软件,通过查利用文本编辑软件,通过查利用文

104、本编辑软件,通过查看文件内容验证程序执行结果看文件内容验证程序执行结果看文件内容验证程序执行结果看文件内容验证程序执行结果。2024/9/15C语言大学实用教程课件 制作人苏小红53实验实验实验实验1010:文件编程练习:文件编程练习:文件编程练习:文件编程练习 文件拷贝文件拷贝文件拷贝文件拷贝 程序程序程序程序4 4:(选作)根据提示从键盘输入一个已(选作)根据提示从键盘输入一个已(选作)根据提示从键盘输入一个已(选作)根据提示从键盘输入一个已存在的文本文件的完整文件名,并再输入另一存在的文本文件的完整文件名,并再输入另一存在的文本文件的完整文件名,并再输入另一存在的文本文件的完整文件名,并

105、再输入另一个已存在的文本文件的完整文件名,然后编程个已存在的文本文件的完整文件名,然后编程个已存在的文本文件的完整文件名,然后编程个已存在的文本文件的完整文件名,然后编程将源文本文件的将源文本文件的将源文本文件的将源文本文件的内容追加内容追加内容追加内容追加到目的文本文件的原到目的文本文件的原到目的文本文件的原到目的文本文件的原内容之后,并内容之后,并内容之后,并内容之后,并编程实现在显示器上显示源文件编程实现在显示器上显示源文件编程实现在显示器上显示源文件编程实现在显示器上显示源文件和目的文件的文件内容,以此来验证程序执行和目的文件的文件内容,以此来验证程序执行和目的文件的文件内容,以此来验

106、证程序执行和目的文件的文件内容,以此来验证程序执行结果。结果。结果。结果。 2024/9/15C语言大学实用教程课件 制作人苏小红54课外实验题目课外实验题目课外实验题目课外实验题目 实验一实验一实验一实验一 计算到期存款本息之和计算到期存款本息之和计算到期存款本息之和计算到期存款本息之和 已知银行整存整取存款不同期限的月息利率分已知银行整存整取存款不同期限的月息利率分已知银行整存整取存款不同期限的月息利率分已知银行整存整取存款不同期限的月息利率分别为:别为:别为:别为:2.25% 2.25% 期限一年期限一年期限一年期限一年2.43% 2.43% 期限二年期限二年期限二年期限二年2.70%

107、2.70% 期限三年期限三年期限三年期限三年2.88% 2.88% 期限五年期限五年期限五年期限五年3.00% 3.00% 期限八年期限八年期限八年期限八年 要求输入存钱的本金和期限,求到期时,能从要求输入存钱的本金和期限,求到期时,能从要求输入存钱的本金和期限,求到期时,能从要求输入存钱的本金和期限,求到期时,能从银行得到的利息与本金的合计。银行得到的利息与本金的合计。银行得到的利息与本金的合计。银行得到的利息与本金的合计。 提示:用提示:用提示:用提示:用switchswitch语句编程。语句编程。语句编程。语句编程。 2024/9/15C语言大学实用教程课件 制作人苏小红55课外实验题目

108、课外实验题目课外实验题目课外实验题目 实验二实验二实验二实验二 存款预算存款预算存款预算存款预算 假设银行一年整存零取的月息为假设银行一年整存零取的月息为假设银行一年整存零取的月息为假设银行一年整存零取的月息为1.875%1.875%,现在某人,现在某人,现在某人,现在某人手头有一笔钱,他打算在今后的五年中每年的年底手头有一笔钱,他打算在今后的五年中每年的年底手头有一笔钱,他打算在今后的五年中每年的年底手头有一笔钱,他打算在今后的五年中每年的年底取出取出取出取出10001000元作为孩子来年的教育金,到第五年孩子元作为孩子来年的教育金,到第五年孩子元作为孩子来年的教育金,到第五年孩子元作为孩子

109、来年的教育金,到第五年孩子毕业时刚好取完这笔钱,现在请你算一算第一年年毕业时刚好取完这笔钱,现在请你算一算第一年年毕业时刚好取完这笔钱,现在请你算一算第一年年毕业时刚好取完这笔钱,现在请你算一算第一年年初他应存入银行多少钱呢?初他应存入银行多少钱呢?初他应存入银行多少钱呢?初他应存入银行多少钱呢? 2024/9/15C语言大学实用教程课件 制作人苏小红56课外实验题目课外实验题目课外实验题目课外实验题目 实验二实验二实验二实验二 存款预算存款预算存款预算存款预算 提示:分析存钱和取钱的过程可采用逆推的方法,然后采用提示:分析存钱和取钱的过程可采用逆推的方法,然后采用提示:分析存钱和取钱的过程可

110、采用逆推的方法,然后采用提示:分析存钱和取钱的过程可采用逆推的方法,然后采用迭代法求解。若第五年年底连本带息要取出迭代法求解。若第五年年底连本带息要取出迭代法求解。若第五年年底连本带息要取出迭代法求解。若第五年年底连本带息要取出10001000元,则第五元,则第五元,则第五元,则第五年年初银行中的存款数额年年初银行中的存款数额年年初银行中的存款数额年年初银行中的存款数额y5y5应为:应为:应为:应为: y5 = 1000 / (1 + 12 * 0.01875)y5 = 1000 / (1 + 12 * 0.01875) 按题意,由第五年年初银行中的存款数额按题意,由第五年年初银行中的存款数额

111、按题意,由第五年年初银行中的存款数额按题意,由第五年年初银行中的存款数额y5y5,求得第四年年,求得第四年年,求得第四年年,求得第四年年初银行中的存款数额初银行中的存款数额初银行中的存款数额初银行中的存款数额y4y4应为:应为:应为:应为: y4 = (y5 + 1000) / (1 + 12 * 0.01875)y4 = (y5 + 1000) / (1 + 12 * 0.01875) 依此类推,可由第依此类推,可由第依此类推,可由第依此类推,可由第n+1n+1年年初银行中的存款数额年年初银行中的存款数额年年初银行中的存款数额年年初银行中的存款数额yn+1yn+1求得第求得第求得第求得第n

112、n年年初银行中的存款数额年年初银行中的存款数额年年初银行中的存款数额年年初银行中的存款数额y ny n为:为:为:为: y n = (y n+1 + 1000) / (1 + 12 * 0.01875)y n = (y n+1 + 1000) / (1 + 12 * 0.01875) 以以以以0 0作为作为作为作为y n+1y n+1的初值,对上式进行逆推迭代,迭代的初值,对上式进行逆推迭代,迭代的初值,对上式进行逆推迭代,迭代的初值,对上式进行逆推迭代,迭代5 5次的结次的结次的结次的结果即为第果即为第果即为第果即为第1 1年年初银行中的存款数额年年初银行中的存款数额年年初银行中的存款数额年

113、年初银行中的存款数额y 1y 1,也就是他现在要存,也就是他现在要存,也就是他现在要存,也就是他现在要存入银行的钱数。入银行的钱数。入银行的钱数。入银行的钱数。 2024/9/15C语言大学实用教程课件 制作人苏小红57课外实验题目课外实验题目课外实验题目课外实验题目 实验三实验三实验三实验三 寻找最佳存款方案寻找最佳存款方案寻找最佳存款方案寻找最佳存款方案 已知银行整存整取存款不同期限的月息利率分已知银行整存整取存款不同期限的月息利率分已知银行整存整取存款不同期限的月息利率分已知银行整存整取存款不同期限的月息利率分别为:别为:别为:别为:2.25% 2.25% 期限一年期限一年期限一年期限一

114、年2.43% 2.43% 期限二年期限二年期限二年期限二年2.70% 2.70% 期限三年期限三年期限三年期限三年2.88% 2.88% 期限五年期限五年期限五年期限五年3.00% 3.00% 期限八年期限八年期限八年期限八年 假设银行对定期存款过期部分不付利息,现在假设银行对定期存款过期部分不付利息,现在假设银行对定期存款过期部分不付利息,现在假设银行对定期存款过期部分不付利息,现在某人有某人有某人有某人有20002000元钱,要存元钱,要存元钱,要存元钱,要存2020年,问怎样存才能使年,问怎样存才能使年,问怎样存才能使年,问怎样存才能使2020年后得到的本利之和合计最多?年后得到的本利之

115、和合计最多?年后得到的本利之和合计最多?年后得到的本利之和合计最多? 2024/9/15C语言大学实用教程课件 制作人苏小红58课外实验题目课外实验题目课外实验题目课外实验题目 实验三实验三实验三实验三 寻找最佳存款方案寻找最佳存款方案寻找最佳存款方案寻找最佳存款方案 提示:为了得到最多的利息,存入银行的钱应提示:为了得到最多的利息,存入银行的钱应提示:为了得到最多的利息,存入银行的钱应提示:为了得到最多的利息,存入银行的钱应在到期时马上就取出来,然后立刻将原来的本在到期时马上就取出来,然后立刻将原来的本在到期时马上就取出来,然后立刻将原来的本在到期时马上就取出来,然后立刻将原来的本金和利息加

116、起来再作为新的本金存入银行,这金和利息加起来再作为新的本金存入银行,这金和利息加起来再作为新的本金存入银行,这金和利息加起来再作为新的本金存入银行,这样本利不断地滚动直到满二十年为止。由于存样本利不断地滚动直到满二十年为止。由于存样本利不断地滚动直到满二十年为止。由于存样本利不断地滚动直到满二十年为止。由于存款的利率不同,所以,不同的存款方法(年限)款的利率不同,所以,不同的存款方法(年限)款的利率不同,所以,不同的存款方法(年限)款的利率不同,所以,不同的存款方法(年限)存二十年得到的利息也是不一样的。存二十年得到的利息也是不一样的。存二十年得到的利息也是不一样的。存二十年得到的利息也是不一

117、样的。分析题意,设分析题意,设分析题意,设分析题意,设20002000元存元存元存元存2020年,其中一年期存了年,其中一年期存了年,其中一年期存了年,其中一年期存了n1n1次,次,次,次,二年期存了二年期存了二年期存了二年期存了n2n2次,三年期存了次,三年期存了次,三年期存了次,三年期存了n3n3次,五年期存了次,五年期存了次,五年期存了次,五年期存了n5n5次,八年期存了次,八年期存了次,八年期存了次,八年期存了n8n8次,则到期时存款人应得的次,则到期时存款人应得的次,则到期时存款人应得的次,则到期时存款人应得的本利之和为:本利之和为:本利之和为:本利之和为:其中,其中,其中,其中,r

118、ateNrateN对应存款年限的利率。对应存款年限的利率。对应存款年限的利率。对应存款年限的利率。2024/9/15C语言大学实用教程课件 制作人苏小红59课外实验题目课外实验题目课外实验题目课外实验题目 实验三实验三实验三实验三 寻找最佳存款方案寻找最佳存款方案寻找最佳存款方案寻找最佳存款方案 根据题意,还可得到以下限制条件:根据题意,还可得到以下限制条件:根据题意,还可得到以下限制条件:根据题意,还可得到以下限制条件: 0 n8 20 n8 2 0 n5 (20 8 * n8) / 50 n5 (20 8 * n8) / 5 0 n3 (20 8 * n8 5 * n5) / 30 n3

119、(20 8 * n8 5 * n5) / 3 0 n2 (20 8 * n8 5 * n5 3 * n3) / 20 n2 (20 8 * n8 5 * n5 3 * n3) / 2 n1 = 20 8 * n8 5 * n5 3 * n3 2 * n2n1 = 20 8 * n8 5 * n5 3 * n3 2 * n2 采用穷举法穷举所有的采用穷举法穷举所有的采用穷举法穷举所有的采用穷举法穷举所有的n8,n5,n3,n2,n1n8,n5,n3,n2,n1组合,代入本利组合,代入本利组合,代入本利组合,代入本利计算公式,计算得到所有的存款方案。计算公式,计算得到所有的存款方案。计算公式,计算

120、得到所有的存款方案。计算公式,计算得到所有的存款方案。 求最大存款方案的方法为:将现行存款方案与过去记求最大存款方案的方法为:将现行存款方案与过去记求最大存款方案的方法为:将现行存款方案与过去记求最大存款方案的方法为:将现行存款方案与过去记录的最大存款方案录的最大存款方案录的最大存款方案录的最大存款方案maxmax进行比较,若现行存款方案可进行比较,若现行存款方案可进行比较,若现行存款方案可进行比较,若现行存款方案可得到的本利之和大,则记录现行存款方案(即得到的本利之和大,则记录现行存款方案(即得到的本利之和大,则记录现行存款方案(即得到的本利之和大,则记录现行存款方案(即n1,n2,n3,n

121、5,n8n1,n2,n3,n5,n8的值)和本利之和的最大值的值)和本利之和的最大值的值)和本利之和的最大值的值)和本利之和的最大值maxmax。 2024/9/15C语言大学实用教程课件 制作人苏小红60课外实验题目课外实验题目课外实验题目课外实验题目 实验四实验四实验四实验四 抓交通肇事犯抓交通肇事犯抓交通肇事犯抓交通肇事犯 一辆卡车违反了交通规则,撞人后逃逸。现场一辆卡车违反了交通规则,撞人后逃逸。现场一辆卡车违反了交通规则,撞人后逃逸。现场一辆卡车违反了交通规则,撞人后逃逸。现场有三人目击事件,但都没有记住车号,只记住有三人目击事件,但都没有记住车号,只记住有三人目击事件,但都没有记住

122、车号,只记住有三人目击事件,但都没有记住车号,只记住车号的一些特征。甲说:车号的前两位数字是车号的一些特征。甲说:车号的前两位数字是车号的一些特征。甲说:车号的前两位数字是车号的一些特征。甲说:车号的前两位数字是相同的;乙说:车号的后两位数字是相同的,相同的;乙说:车号的后两位数字是相同的,相同的;乙说:车号的后两位数字是相同的,相同的;乙说:车号的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:四位但与前两位不同;丙是位数学家,他说:四位但与前两位不同;丙是位数学家,他说:四位但与前两位不同;丙是位数学家,他说:四位的车号正好是一个整数的平方。现在请你根据的车号正好是一个整数的平方。

123、现在请你根据的车号正好是一个整数的平方。现在请你根据的车号正好是一个整数的平方。现在请你根据以上线索帮助警方找出车号以便尽快破案。以上线索帮助警方找出车号以便尽快破案。以上线索帮助警方找出车号以便尽快破案。以上线索帮助警方找出车号以便尽快破案。 2024/9/15C语言大学实用教程课件 制作人苏小红61课外实验题目课外实验题目课外实验题目课外实验题目 实验四实验四实验四实验四 抓交通肇事犯抓交通肇事犯抓交通肇事犯抓交通肇事犯 提示:假设这个四位数的前两位数字都是提示:假设这个四位数的前两位数字都是提示:假设这个四位数的前两位数字都是提示:假设这个四位数的前两位数字都是i i,后,后,后,后两位

124、数字都是两位数字都是两位数字都是两位数字都是j j,则这个可能的四位数,则这个可能的四位数,则这个可能的四位数,则这个可能的四位数k k为:为:为:为:k = 1000 * i + 100 * i + 10 * j + jk = 1000 * i + 100 * i + 10 * j + j 其中,其中,其中,其中,i i和和和和j j都在都在都在都在0909之间变化。之间变化。之间变化。之间变化。 现在还需使现在还需使现在还需使现在还需使k k满足是一个整数满足是一个整数满足是一个整数满足是一个整数mm的平方,由于的平方,由于的平方,由于的平方,由于k k是一个四位数,所以,是一个四位数,所

125、以,是一个四位数,所以,是一个四位数,所以,mm值不可能小于值不可能小于值不可能小于值不可能小于3131,因,因,因,因此,可从此,可从此,可从此,可从3131开始试验是否满足开始试验是否满足开始试验是否满足开始试验是否满足k = m*mk = m*m,若,若,若,若不满足,则不满足,则不满足,则不满足,则mm加加加加1 1再试,直到找到满足这些限再试,直到找到满足这些限再试,直到找到满足这些限再试,直到找到满足这些限制条件的制条件的制条件的制条件的k k为止结束测试。为止结束测试。为止结束测试。为止结束测试。 2024/9/15C语言大学实用教程课件 制作人苏小红62课外实验题目课外实验题目

126、课外实验题目课外实验题目 实验五实验五实验五实验五 求解不等式求解不等式求解不等式求解不等式 已知立方和不等式为:已知立方和不等式为:已知立方和不等式为:已知立方和不等式为:1 13 3 + 2 + 23 3 + + m + + m3 3 n = nsum = n时,利用时,利用时,利用时,利用breakbreak语句退出循环,打印语句退出循环,打印语句退出循环,打印语句退出循环,打印出相应的结果。这里,因立方运算数值较大,出相应的结果。这里,因立方运算数值较大,出相应的结果。这里,因立方运算数值较大,出相应的结果。这里,因立方运算数值较大,n n应应应应定义为长整型。定义为长整型。定义为长整

127、型。定义为长整型。 2024/9/15C语言大学实用教程课件 制作人苏小红63课外实验题目课外实验题目课外实验题目课外实验题目 实验六实验六实验六实验六 计算礼炮声响次数计算礼炮声响次数计算礼炮声响次数计算礼炮声响次数 为庆祝活动,现在,为庆祝活动,现在,为庆祝活动,现在,为庆祝活动,现在,A A、B B、C C三条军舰要同时三条军舰要同时三条军舰要同时三条军舰要同时开始鸣放礼炮各开始鸣放礼炮各开始鸣放礼炮各开始鸣放礼炮各2121响。已知响。已知响。已知响。已知A A舰每隔舰每隔舰每隔舰每隔5 5秒放秒放秒放秒放1 1次,次,次,次,B B舰每隔舰每隔舰每隔舰每隔6 6秒放秒放秒放秒放1 1次

128、,次,次,次,C C舰每隔舰每隔舰每隔舰每隔7 7秒放秒放秒放秒放1 1次。假设次。假设次。假设次。假设各炮手对时间的掌握非常准确,那么请问观众各炮手对时间的掌握非常准确,那么请问观众各炮手对时间的掌握非常准确,那么请问观众各炮手对时间的掌握非常准确,那么请问观众总共可以听到几次礼炮声呢?总共可以听到几次礼炮声呢?总共可以听到几次礼炮声呢?总共可以听到几次礼炮声呢? 2024/9/15C语言大学实用教程课件 制作人苏小红64课外实验题目课外实验题目课外实验题目课外实验题目 实验六实验六实验六实验六 计算礼炮声响次数计算礼炮声响次数计算礼炮声响次数计算礼炮声响次数 提示:用提示:用提示:用提示:

129、用n n作为听到的礼炮声响的计数器,用作为听到的礼炮声响的计数器,用作为听到的礼炮声响的计数器,用作为听到的礼炮声响的计数器,用t t表示时间,表示时间,表示时间,表示时间,从第从第从第从第0 0秒开始放第秒开始放第秒开始放第秒开始放第1 1响,到放完最后一响,最长时间为响,到放完最后一响,最长时间为响,到放完最后一响,最长时间为响,到放完最后一响,最长时间为20*720*7,因此,可以用一个,因此,可以用一个,因此,可以用一个,因此,可以用一个forfor循环来模拟每一秒钟的时间变化,循环来模拟每一秒钟的时间变化,循环来模拟每一秒钟的时间变化,循环来模拟每一秒钟的时间变化,即即即即t t从从

130、从从0 0开始循环到开始循环到开始循环到开始循环到t20*7t20*7时结束。在循环体中判断:如果时结束。在循环体中判断:如果时结束。在循环体中判断:如果时结束。在循环体中判断:如果时间时间时间时间t t是是是是5 5的整数倍且的整数倍且的整数倍且的整数倍且2121响未放完,则响未放完,则响未放完,则响未放完,则A A舰放一响,计数器舰放一响,计数器舰放一响,计数器舰放一响,计数器n n加加加加1 1;如果时间;如果时间;如果时间;如果时间t t是是是是6 6的整数倍且的整数倍且的整数倍且的整数倍且2121响未放完,则响未放完,则响未放完,则响未放完,则B B舰放一响,舰放一响,舰放一响,舰放

131、一响,计数器计数器计数器计数器n n加加加加1 1;如果时间;如果时间;如果时间;如果时间t t是是是是7 7的整数倍且的整数倍且的整数倍且的整数倍且2121响未放完,则响未放完,则响未放完,则响未放完,则C C舰放一响,计数器舰放一响,计数器舰放一响,计数器舰放一响,计数器n n加加加加1 1。但要注意:当有两舰或三舰同时。但要注意:当有两舰或三舰同时。但要注意:当有两舰或三舰同时。但要注意:当有两舰或三舰同时鸣放时,应作鸣放时,应作鸣放时,应作鸣放时,应作1 1响统计,即响统计,即响统计,即响统计,即n n不能同时计数,只要有一个执不能同时计数,只要有一个执不能同时计数,只要有一个执不能同

132、时计数,只要有一个执行了计数,其它两个就不能再进行计数。行了计数,其它两个就不能再进行计数。行了计数,其它两个就不能再进行计数。行了计数,其它两个就不能再进行计数。 利用利用利用利用continuecontinue语句编程实现。语句编程实现。语句编程实现。语句编程实现。 2024/9/15C语言大学实用教程课件 制作人苏小红65课外实验题目课外实验题目课外实验题目课外实验题目 实验七实验七实验七实验七 产值翻番产值翻番产值翻番产值翻番 假设当年产值为假设当年产值为假设当年产值为假设当年产值为100100,工业产值的增长率为每,工业产值的增长率为每,工业产值的增长率为每,工业产值的增长率为每年年

133、年年c%c%,当,当,当,当c c分别为分别为分别为分别为6,8,10,126,8,10,12时,试求工业产值时,试求工业产值时,试求工业产值时,试求工业产值分别过多少年可实现翻番(即增加一倍)。分别过多少年可实现翻番(即增加一倍)。分别过多少年可实现翻番(即增加一倍)。分别过多少年可实现翻番(即增加一倍)。2024/9/15C语言大学实用教程课件 制作人苏小红66课外实验题目课外实验题目课外实验题目课外实验题目 实验七实验七实验七实验七 产值翻番产值翻番产值翻番产值翻番 提示:增长率存于数组提示:增长率存于数组提示:增长率存于数组提示:增长率存于数组cici 中,并用中,并用中,并用中,并用

134、6,8,10,126,8,10,12初始化。初始化。初始化。初始化。产值翻番所需年数存于变量产值翻番所需年数存于变量产值翻番所需年数存于变量产值翻番所需年数存于变量y y中,各年对应的产值存于中,各年对应的产值存于中,各年对应的产值存于中,各年对应的产值存于变量变量变量变量s s中。设置中。设置中。设置中。设置i i的循环,对增长率的循环,对增长率的循环,对增长率的循环,对增长率cici ,设产值翻番所,设产值翻番所,设产值翻番所,设产值翻番所需年数为需年数为需年数为需年数为y y,年数,年数,年数,年数y y每增每增每增每增1 1一次,产值的计算方法为:一次,产值的计算方法为:一次,产值的计

135、算方法为:一次,产值的计算方法为: s = s * (1 + s = s * (1 + cici / 100.0) / 100.0) 利用迭代法计算,执行循环,计算下一年产值,并增利用迭代法计算,执行循环,计算下一年产值,并增利用迭代法计算,执行循环,计算下一年产值,并增利用迭代法计算,执行循环,计算下一年产值,并增长年数,直到长年数,直到长年数,直到长年数,直到sisi = 200 = 200时为止,当时为止,当时为止,当时为止,当sisi = 200 = 200时,表时,表时,表时,表示已达到翻番,继续对下一个增长率计算翻番所需的示已达到翻番,继续对下一个增长率计算翻番所需的示已达到翻番,

136、继续对下一个增长率计算翻番所需的示已达到翻番,继续对下一个增长率计算翻番所需的年数,对所有增长率全部计算完后,打印相应的增长年数,对所有增长率全部计算完后,打印相应的增长年数,对所有增长率全部计算完后,打印相应的增长年数,对所有增长率全部计算完后,打印相应的增长率、翻番所需年数以及翻番后的产值。率、翻番所需年数以及翻番后的产值。率、翻番所需年数以及翻番后的产值。率、翻番所需年数以及翻番后的产值。 2024/9/15C语言大学实用教程课件 制作人苏小红67课外实验题目课外实验题目课外实验题目课外实验题目 实验八实验八实验八实验八 简单的口令检查程序简单的口令检查程序简单的口令检查程序简单的口令检

137、查程序 按下述要求编写口令检查程序(假设正确的口令为按下述要求编写口令检查程序(假设正确的口令为按下述要求编写口令检查程序(假设正确的口令为按下述要求编写口令检查程序(假设正确的口令为88888888)。)。)。)。(1 1)若输入口令正确,则提示)若输入口令正确,则提示)若输入口令正确,则提示)若输入口令正确,则提示“ “You are You are welcomwelcom!”!”,程,程,程,程序结束;序结束;序结束;序结束;(2 2)若输入口令不正确,则提示)若输入口令不正确,则提示)若输入口令不正确,则提示)若输入口令不正确,则提示“ “Wrong Wrong passwardpa

138、ssward!”!”,同时检查口令是否已输入三次,若未输入三次,则提示同时检查口令是否已输入三次,若未输入三次,则提示同时检查口令是否已输入三次,若未输入三次,则提示同时检查口令是否已输入三次,若未输入三次,则提示” ”Enter again:”Enter again:”,且允许用户再次输入口令,相反,若,且允许用户再次输入口令,相反,若,且允许用户再次输入口令,相反,若,且允许用户再次输入口令,相反,若已输入了三次,则提示已输入了三次,则提示已输入了三次,则提示已输入了三次,则提示“ “You have entered three times! You have entered three

139、times! You are not You are not welcomwelcom!”!”, 且不允许用户再输入口令,程序且不允许用户再输入口令,程序且不允许用户再输入口令,程序且不允许用户再输入口令,程序结束。结束。结束。结束。2024/9/15C语言大学实用教程课件 制作人苏小红68课外实验题目课外实验题目课外实验题目课外实验题目 实验八实验八实验八实验八 简单的口令检查程序简单的口令检查程序简单的口令检查程序简单的口令检查程序 提示:设置一个计数器,每输入一次口令,计提示:设置一个计数器,每输入一次口令,计提示:设置一个计数器,每输入一次口令,计提示:设置一个计数器,每输入一次口令,

140、计数器计数一次,同时,设置标志变量数器计数一次,同时,设置标志变量数器计数一次,同时,设置标志变量数器计数一次,同时,设置标志变量flagflag,当,当,当,当输入口令正确或虽然输入不正确但已输入三次输入口令正确或虽然输入不正确但已输入三次输入口令正确或虽然输入不正确但已输入三次输入口令正确或虽然输入不正确但已输入三次时,置标志变量时,置标志变量时,置标志变量时,置标志变量flagflag置为置为置为置为0 0,不允许再输入,结,不允许再输入,结,不允许再输入,结,不允许再输入,结束程序,反之,如果标志变量未发生改变束程序,反之,如果标志变量未发生改变束程序,反之,如果标志变量未发生改变束程

141、序,反之,如果标志变量未发生改变( (即即即即为为为为1)1)时,则请求用户继续输入口令。时,则请求用户继续输入口令。时,则请求用户继续输入口令。时,则请求用户继续输入口令。 2024/9/15C语言大学实用教程课件 制作人苏小红69课外实验题目课外实验题目课外实验题目课外实验题目 实验九实验九实验九实验九 大奖赛现场统分大奖赛现场统分大奖赛现场统分大奖赛现场统分 以往各类大奖赛的报分与统分脱节,参赛选手以往各类大奖赛的报分与统分脱节,参赛选手以往各类大奖赛的报分与统分脱节,参赛选手以往各类大奖赛的报分与统分脱节,参赛选手的最后得分总要等到下一个选手赛完后才报,的最后得分总要等到下一个选手赛完

142、后才报,的最后得分总要等到下一个选手赛完后才报,的最后得分总要等到下一个选手赛完后才报,影响竞赛的正常节奏,也不能满足观众的期待影响竞赛的正常节奏,也不能满足观众的期待影响竞赛的正常节奏,也不能满足观众的期待影响竞赛的正常节奏,也不能满足观众的期待心理。现在请你为某大奖赛编写一个现场统分心理。现在请你为某大奖赛编写一个现场统分心理。现在请你为某大奖赛编写一个现场统分心理。现在请你为某大奖赛编写一个现场统分的程序,在各评委打分之后,及时通报评分结的程序,在各评委打分之后,及时通报评分结的程序,在各评委打分之后,及时通报评分结的程序,在各评委打分之后,及时通报评分结果,同时,为了给评委一个约束,有

143、利于竞赛果,同时,为了给评委一个约束,有利于竞赛果,同时,为了给评委一个约束,有利于竞赛果,同时,为了给评委一个约束,有利于竞赛评判的公正,要求增加给评委打分和排序的功评判的公正,要求增加给评委打分和排序的功评判的公正,要求增加给评委打分和排序的功评判的公正,要求增加给评委打分和排序的功能。能。能。能。 2024/9/15C语言大学实用教程课件 制作人苏小红70课外实验题目课外实验题目课外实验题目课外实验题目 实验九实验九实验九实验九 大奖赛现场统分大奖赛现场统分大奖赛现场统分大奖赛现场统分 已知:某大奖赛有已知:某大奖赛有已知:某大奖赛有已知:某大奖赛有n n个选手参赛,个选手参赛,个选手参

144、赛,个选手参赛,mm(m2m2)个)个)个)个评委为依次参赛的选手评判打分:最高评委为依次参赛的选手评判打分:最高评委为依次参赛的选手评判打分:最高评委为依次参赛的选手评判打分:最高1010分,分,分,分,最低最低最低最低0 0分。统分规则为:每个选手所得的分。统分规则为:每个选手所得的分。统分规则为:每个选手所得的分。统分规则为:每个选手所得的mm个得个得个得个得分中,去掉一个最高分,去掉一个最低分,然分中,去掉一个最高分,去掉一个最低分,然分中,去掉一个最高分,去掉一个最低分,然分中,去掉一个最高分,去掉一个最低分,然后平均为该选手的最后得分。要求编程:后平均为该选手的最后得分。要求编程:

145、后平均为该选手的最后得分。要求编程:后平均为该选手的最后得分。要求编程:(1 1)根据)根据)根据)根据n n个选手的最后得分,从高到低排出名次个选手的最后得分,从高到低排出名次个选手的最后得分,从高到低排出名次个选手的最后得分,从高到低排出名次表,以便确定获奖名单;表,以便确定获奖名单;表,以便确定获奖名单;表,以便确定获奖名单;(2 2)根据各选手的最后得分与各评委给该选手所评)根据各选手的最后得分与各评委给该选手所评)根据各选手的最后得分与各评委给该选手所评)根据各选手的最后得分与各评委给该选手所评分的差距,给各个评委评分的准确性一个定量的评分的差距,给各个评委评分的准确性一个定量的评分

146、的差距,给各个评委评分的准确性一个定量的评分的差距,给各个评委评分的准确性一个定量的评价。价。价。价。2024/9/15C语言大学实用教程课件 制作人苏小红71课外实验题目课外实验题目课外实验题目课外实验题目 实验九实验九实验九实验九 大奖赛现场统分大奖赛现场统分大奖赛现场统分大奖赛现场统分 提示:设置提示:设置提示:设置提示:设置5 5个数组:个数组:个数组:个数组:shishi 为第为第为第为第i i个选手的编号,个选手的编号,个选手的编号,个选手的编号,sfisfi 为第为第为第为第i i个个个个选手的最后得分,选手的最后得分,选手的最后得分,选手的最后得分,phjphj 为第为第为第为

147、第j j个评委的编号,个评委的编号,个评委的编号,个评委的编号,fijfij 为第为第为第为第j j个评个评个评个评委给第委给第委给第委给第i i个选手的评分,个选手的评分,个选手的评分,个选手的评分,pfjpfj 为第为第为第为第j j个评委的得分,作为评委评个评委的得分,作为评委评个评委的得分,作为评委评个评委的得分,作为评委评分水准的代表。分水准的代表。分水准的代表。分水准的代表。 (1 1)对)对)对)对n n个参赛选手设置个参赛选手设置个参赛选手设置个参赛选手设置i i循环(循环(循环(循环(i i从从从从1 1变化到变化到变化到变化到n n):第):第):第):第i i个选手上场,

148、输个选手上场,输个选手上场,输个选手上场,输入该选手的编号入该选手的编号入该选手的编号入该选手的编号shishi ,在,在,在,在j j循环(循环(循环(循环(j j从从从从1 1变化到变化到变化到变化到mm)中依次输入第)中依次输入第)中依次输入第)中依次输入第i i个选个选个选个选手的手的手的手的mm个得分个得分个得分个得分fijfij ,每一个得分,每一个得分,每一个得分,每一个得分fijfij 都累加到都累加到都累加到都累加到sfisfi 中,同时比较:中,同时比较:中,同时比较:中,同时比较:若若若若fijfij max max,则,则,则,则max = max = fijfij ;

149、若;若;若;若fijfij min yxy,则,则,则,则x x和和和和y y的最大公约数与的最大公约数与的最大公约数与的最大公约数与x-yx-y和和和和y y的最大公约数相同,即的最大公约数相同,即的最大公约数相同,即的最大公约数相同,即 性质性质性质性质2 2:如果:如果:如果:如果yxyx,则,则,则,则x x和和和和y y的最大公约数与的最大公约数与的最大公约数与的最大公约数与x x和和和和y-xy-x的最大公约数相同,即的最大公约数相同,即的最大公约数相同,即的最大公约数相同,即 性质性质性质性质3 3:如果:如果:如果:如果x=yx=y,则,则,则,则x x和和和和y y的最大公约数与的最大公约数与的最大公约数与的最大公约数与x x值和值和值和值和y y值相同,即值相同,即值相同,即值相同,即

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

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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