函数部分必须会编写的程序_练习
- 格式:docx
- 大小:18.78 KB
- 文档页数:4
《Python的函数》作业设计方案(第一课时)一、作业目标本作业设计的目标是使学生能够:1. 理解Python中函数的基本概念和定义方法。
2. 掌握函数参数的传递方式和返回值的使用。
3. 能够编写简单的函数,并理解函数在程序中的作用。
二、作业内容1. 理论学习学生需认真阅读教材中关于Python函数的基础知识,包括函数的定义、函数的参数、函数的返回值等。
同时,需通过在线视频或课堂讲解,进一步加深对函数概念的理解。
2. 编程实践学生需完成以下编程任务:任务一:编写一个简单的函数,该函数接受两个参数并返回它们的和。
任务二:创建一个包含多个函数的程序,每个函数完成特定的任务(如计算平均值、排序等)。
任务三:使用已定义的函数,编写一个完整的小游戏或小应用,以展示函数在程序中的作用。
3. 作业拓展鼓励学生尝试使用Python的内置函数库(如math、random 等)来增强自己编写的程序功能。
同时,可以尝试编写一些更复杂的函数,如递归函数、带有默认参数的函数等。
三、作业要求1. 所有代码必须符合Python的语法规范,变量名、函数名等应使用合适的命名规则。
2. 代码应有清晰的注释,解释每个函数的作用及关键代码的功能。
3. 程序应具备可读性和可维护性,避免过度复杂或难以理解的代码结构。
4. 提交的作业中应包含完整的代码、必要的注释以及程序运行的结果截图。
5. 鼓励学生创新,尝试将所学知识应用到实际生活中,如制作小游戏、编写小工具等。
四、作业评价教师将根据以下标准进行评价:1. 代码的规范性:是否符合Python的语法规范及命名规则。
2. 程序的正确性:函数是否按预期工作,程序运行结果是否正确。
3. 逻辑的清晰性:代码结构和逻辑是否清晰,易于理解。
4. 创新性和实用性:学生是否将所学知识应用到实际生活中,是否有创新点。
5. 提交的完整性:是否包含完整的代码、必要的注释以及程序运行的结果截图。
五、作业反馈教师将对每位学生的作业进行批改,并给出详细的评价和建议。
历年考试题1,在文本框Text1、Text2中分别输入一个任意正整数,按下“计算累加和”按钮Command1,计算这两个数之间所有整数的累加和,并将结果显示在标签Label1中。
2,假设邮费计算方法为:100克以内(含100克)收费5元,超过100克的部分每克加收0。
2元。
试编写程序,要求从键盘输入邮寄物品质量,计算并输出邮费。
3, 输入出租车行驶里程S ,输出应付车费F 。
S 和F 的关系如下: 335.1)3(66>≤⎩⎨⎧⨯-+=S S S F4,假设一个快递公司针对个人小宗业务(即物品总重量不超过20公斤)的收费规定如下:物品在5公斤(含5公斤)以下,收费8元;在10公斤(含10公斤)以下,超过5公斤部分,每公斤收费0.5元;在20公斤(含20公斤)以下,超过10公斤部分,每公斤收费1。
5元。
不足1公斤均按1公斤计算。
编写程序,输入用户的快递物品重量,计算并输出所需邮费。
(6分)计算公式如下:(教科书P35、P205,冲刺班编程第5题,模考班第5题) ⎪⎩⎪⎨⎧≤<-≤<+≤=20105.45.11055.55.058x x x x x y5, 现有一元二次方程:ax 2+bx+c=0,其中a 、b 、c 、是整数,且a 0。
若存在实根,则输出“在实数范围内有解”;若不存在实根,则输出“在实数范围内无解”。
(5分)二、循环结构【1】单循环1,产生1-100以内的素数(for嵌if结构)33。
编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现).调用该过程.(提示:只能被1 和自身整除的自然数成为素数)2,0到200 被5 或11 整除的数的和(for嵌if结构)3,计算100~300之间所有能被3和7整除的数之和。
4,编程求200--400范围内5的倍数或7的倍数之和。
(一个数如果同时是7和5的倍数,则只能加一次。
) 5,找出被3、5、7除,余数均为1的最小的5个正整数.6,某次歌曲大奖赛,有7个评委。
1、用下面的scanf函数输入数据,使a=10, b=20, c1='A', c2='a', x=1.5, y=-3.75, z=67.8,请问在键盘上如何输入数据?scanf("%5d%5d%c%c%f%f%*f,%f", &a,&b,&c1,&c2,&x,&y,&z);2、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf函数输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字第三次作业1、有3个整数a,b,c,由键盘输入,输出其中最大的数。
2、有一个函数:x x<1y= 2x-1 1<=x<103x-11 x>=10写一段程序,输入x,输出y的值。
3、给出一百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80-89分为B,70-79为C,60-69为D,60分以下为E。
4、给一个不多于5位的正整数,输出这个数是几位数。
第四次作业1、给一个不多于5位的正整数,要求:a.求出它是几位数;+b.分别输出每一位数字;c.按逆序输出各位数字,例如:原数为321,应输出123。
2、教材P112页第5.8题(if语句解法创建一个独立文件,switch语句解法创建一个独立文件第五次作业1、输入两个正整数m和n,求其最大公约数和最小公倍数。
(经典题)2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数,并输出。
3、求s=a+aa+aaa+aaaa+....+(a...a)之值,其中a是一个数字,n表示a的位数。
1、输入两个字符串,使用指针p将两个字符串按次序复制到数组c中。
例:输入“zhe"和"jiang",将"zhejiang"保存在数组c中。
安装Visual C ++6.0下载请从群里下载Microsoft Visual Studio.rar。
将下载的文件Microsoft Visual Studio.rar解压后即可使用。
请直接运行文件“Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE”实验一认识C语言【实验目的】1.熟悉C程序设计编程环境Visual C ++,掌握运行一个C程序设计的基本步骤,包括编辑、编译、连接和运行。
编辑:编写源程序文件.c编译:生成目标文件.obj连接:生成可执行文件.exe运行:执行.exe文件。
2.掌握C语言程序设计的基本框架,能够编写简单的C程序。
3.了解程序调试的思想,能找出并改正C程序中的语法错误。
【实验内容】1-1 在磁盘上新建一个文件夹,用于存放C程序,文件夹的名字可以是学号,如D:\3050888。
1-2 编程示例,在屏幕上显示一个短句“Hello World!”。
源程序# include <stdio.h>void main( ){printf("Hello World! \n");}运行结果Hello World!作为第一个实验,在Visual C++编程环境下,以上述C语言源程序为例,介绍运行一个C 程序的基本步骤,请读者按照以下步骤操作。
(1)启动VC++执行“开始”—>“程序”—>“Microsoft Visual Studio 6.0”—> “Microsoft Visual C++ 6.0”,进入VC++编程环境(如图1.1所示)。
图1.1 VC++窗口(2)新建文件执行“文件/File”—>“新建/New”,单击“文件/Files”选项卡(如图 1.2所示),先在“文件/File name”栏中输入test,把C源(程序)文件命名为test.cpp,在“目录/Location”框中选择你已经建立的文件夹,如,D:\3050888,然后选中“C++ Sourse Files”,单击“确定”按钮,在D:\3050888下就新建了文件test.cpp,并显示编辑窗口和信息窗口(如图1.3所示)。
1-1.在你自己的系统中运行"hello,word"程序再有意去掉程序中的部分内容,看看会得到什么出错信息。
1-2.做个试验,当printf函数的参数字符串中包含\c(其中c是上面的转义字符序列中未曾列出的一个字符)时,观察一下会出现什么情况。
1-3.修改温度转换程序,使之能在转换表的顶部打印一个标题。
1-4.编写一个程序打印摄氏温度转换为华氏温度的转换表。
1-5.修改温度转换程序,要求以逆序(即按照从3000度到0度的顺序)打印温度转换表。
1-6 验证表达式getchar() != EOF的值是0还是1。
1-7 编写一个打印EOF值的程序。
1-8 编写一个统计空格、字符表与换行符个数的程序。
1-9 编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。
1-10 编写一个将输入复制到输出的程序,并将其中的制表符替换为\t,把回退符替换为\b,把反斜扛替换为\。
这样可以将制表符和回退符以可见的方式显示出来。
1-11 你准备如何测试单词计数程序?如果程序中存在某种错误,那么什么样的输入可能发现这类错误呢?1-12 编写一个程序,以每行一个单词的形式打印其输入。
1-13 编写一个程序,打印输入中单词长度的直方图。
水平方向的直方图比较容易绘制,垂直放图则要苦难些。
1-14 编写一个程序,打印输入中各个字符出现频度的直方图。
1-15 重新编写(1.2节)中的温度转换程序,使用函数实现温度转换计算。
1-16 修改打印最长文本行的程序(P.21)的主程序main,使之可以打印任意长度的输入行的长度,并尽可能地打印文本。
1-17 编写一个程序,打印长度大于80个字符的所有输入行。
1-18 编写一个程序,删除每个输入行末尾的空格及制表符,并删除完全是空格的行。
1-19 编写函数reverse(s),将字符串s中的字符顺序颠倒过来。
使用该函数编写一个程序,每次颠倒一个输入行中的字符顺序。
python软件编程等级考试(二级)编程实操题01优质word练习一、选择题1.现有如下python程序段:for i in range( 6 ):p.append( int( random() * 10 ) + 1 )for i in range( 2, 6 ):if i % 2 == 1 and p[ i ] % 2 == 0:p[ i ] += p[ i - 1]elif i % 2 == 0 and p[ i ] % 2 == 1:p[ i ] -= p[ i - 1]执行该程序段后,在下列选项中,列表p中的元素值不可能的是()A.1, 2, 3, 4, 7, 2B.1, 2, 14, -9, -5, 8C.6, 8, 1, 4, 6, 10D.6, 4, 14, -7, 3, 82.Python输入函数为()。
A.time() B.round() C.input( ) D.print() 3.在Python中要交换变量a和b中的值,应使用的语句组是()A.a,b = b,a B.a = c ;a = b;b = cC.a = b;b = a D.c = a;b = a;b = c4.在Python中要交换变量a和b中的值,应使用的语句组是()。
A.a,b=b,a B.a=c;a=b;b=cC.a=b;b=a D.c=a;b=a;b=c5.下列可以作为python变量名的是()A.5x B.x-1 C.if D.x_1 6.运行如下Python程序,结果为()。
A.1 B.3 C.6 D.187.12 Python语言语句块的标记是( )A.分号B.逗号C.缩进D./8.已知字符串a="python",则a[-1]的值为()A."p" B."n" C."y" D."o"9.关于python程序设计语言,下列说法不正确的是()A.python是一种解释型、面向对象的计算机程序设计语言B.python支持Windows操作系统,但不支持Linux系统C.python源文件以***.py为扩展名D.python文件不能直接在命令行中运行10.在python中,运行下列程序,正确的结果是()s=0for i in range (1,5):s=s+iprint("i=",i,"s=",s)A.i=4 s=10 B.i=5 s=10 C.i=5 s=15 D.i=6 s=1511.下列Python表达式中,能正确表示“变量x能够被4整除且不能被100整除”的是()A.(x%4==0) or (x%100!=0)B.(x%4==0) and (x%100!=0)C.(x/4==0) or (x/100!=0)D.(x/4==0) and (x/100!=0)12.在数学中,我们一般使用“=“表示相等关系,那么“=”在Python语言中的写法为()A.= B.== C.:= D.<>13.Python中“ab ”+“cd”*2的结果是()。
1-1.在你自己的系统中运行"hello,word"程序再有意去掉程序中的部分内容,看看会得到什么出错信息。
1-2.做个试验,当printf函数的参数字符串中包含\c(其中c是上面的转义字符序列中未曾列出的一个字符)时,观察一下会出现什么情况。
1-3.修改温度转换程序,使之能在转换表的顶部打印一个标题。
1-4.编写一个程序打印摄氏温度转换为华氏温度的转换表。
1-5.修改温度转换程序,要求以逆序(即按照从3000度到0度的顺序)打印温度转换表。
1-6 验证表达式getchar() != EOF的值是0还是1。
1-7 编写一个打印EOF值的程序。
1-8 编写一个统计空格、字符表与换行符个数的程序。
1-9 编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。
1-10 编写一个将输入复制到输出的程序,并将其中的制表符替换为\t,把回退符替换为\b,把反斜扛替换为\。
这样可以将制表符和回退符以可见的方式显示出来。
1-11 你准备如何测试单词计数程序?如果程序中存在某种错误,那么什么样的输入可能发现这类错误呢?1-12 编写一个程序,以每行一个单词的形式打印其输入。
1-13 编写一个程序,打印输入中单词长度的直方图。
水平方向的直方图比较容易绘制,垂直放图则要苦难些。
1-14 编写一个程序,打印输入中各个字符出现频度的直方图。
1-15 重新编写(1.2节)中的温度转换程序,使用函数实现温度转换计算。
1-16 修改打印最长文本行的程序(P.21)的主程序main,使之可以打印任意长度的输入行的长度,并尽可能地打印文本。
1-17 编写一个程序,打印长度大于80个字符的所有输入行。
1-18 编写一个程序,删除每个输入行末尾的空格及制表符,并删除完全是空格的行。
1-19 编写函数reverse(s),将字符串s中的字符顺序颠倒过来。
使用该函数编写一个程序,每次颠倒一个输入行中的字符顺序。
大学《Python程序设计》试题及答案大学《Python程序设计》试题及答案一、选择题1、在Python中,以下哪个选项可以正确表示小于等于操作符? A) <=B) <* C) .≤ D) 以上都不是答案:A) <=2、下列哪个模块可用于绘制图形? A) math B) plot C) canvas D) none of the above 答案:C) canvas3、在Python中,如何将字符串转换为整数? A) str() B) int() C) float() D) 以上都不是答案:B) int()4、若要打印出所有的素数,以下哪个循环结构可以实现? A) whileB) for C) do-while D) switch-case 答案:B) for5、以下哪个选项可以用于导入模块? A) import math as m B) include math as m C) #include <math.h> D) #import <math.h> 答案:A) import math as m二、填空题1、Python中的注释符号是_____。
答案:#2、在Python中,所有变量都必须具有_____。
答案:类型(types)3、Python中的逻辑运算符用于执行_____运算。
答案:逻辑(logical)4、以下哪个函数可以用于将字符串转换为浮点数? A) str() B) int() C) float() D) none of the above 答案:C) float()5、以下哪个循环结构可以用于打印出所有的偶数? A) for i in range(0, 10): print(i2) B) for i in range(0, 10): if i % 2 == 0: print(i2) C) for i in range(0, 10): if i % 2 != 0: print(i2) D) none of the above 答案:B) for i in range(0, 10): if i % 2 == 0: print(i2)三、编程题编写一个Python程序,打印出所有的水仙花数(Narcissistic Number)。
C语言程序设计教程第一章练习题题目(精选5篇)第一篇:C语言程序设计教程第一章练习题题目单选题1、下列语言中不属于计算机语言的三大类的是(C)。
A.机器语言 B.汇编语言 C.脚本语言 D.高级语言2、下列说法中不正确的是(C)A.计算机语言大致可分为三大类,即机器语言、汇编语言和高级语言B.C语言是一种通用的、过程式的编程语言,具有高效、灵活、可移植等优点C.C语言属于汇编语言D.高级语言比汇编语言更贴近于人类使用的语言,易于理解、记忆和使用3、以下开发工具中不属于主流的开发工具的是(B)A.Visual Studio B.Xcode C.Code::Block D.Eclipse4、下列选项是对主流开发工具的介绍,其中错误的是(B)A.Visual Studio支持C/C++、C#、F#、VB等多种程序语言的开发和测试B.Code::Block是一个免费的跨平台IDE,支持C、C++和Fortan程序的开发C.Eclipse是一种被广泛使用的免费跨平台IDE,最初由IBM公司开发D.Vim是一款功能非常强大的IDE(和其他IDE不同的是,Vim本身并不是一个用于开发计算机程序的IDE,而是一款功能非常强大的文本编辑器,它是UNIX系统上Vi编辑器的升级版。
)5、下列选项中,不属于开发一个C语言应用程序的具体实现步骤的是(A)A.启动开发工具 B.添加源文件 C.编写代码 D.运行程序6、下列选项中,关于main()函数叙述不正确的是(C)A.一个完整的C语言程序中,有且只能有一个main()函数B.main()函数是程序的主入口,程序总是从main()函数开始执行C.如果没有声明main()函数,程序将从第1行开始执行D.main()函数可以有返回值,也可以没有返回值7、下面程序中,合法的选项是(D)A.#includeint main(){ printf(“hello worldn”);return 0;}B.#includeint man(){ printf(“hello worldn”);return 0;}C.#includeint main(){ printf(“hello worldn”)return 0;}D.#includeint main(){ print(“hello worldn”);return 0;}8、下面程序中,运行结果为“1,2”的是(A)A.#includeint main(){ int a = 1;int b = 2;printf(“%d %dn”,a,b);return 0;}B.#includeint main(){ int a = 1;int b = 2;printf(“%d,”a);printf(“%dn”,b);return 0;}C.#includeint main(){ int a = 1, b = 2;printf(“%d,%dn”,a,b);return 0;}D.#includeint main(){ int a = 1,a= b = 2;printf(“%d,%dn”,a,b);return 0;}9、下列关于注释的描述中,错误的是(B)A.C语言中的注释有两种类型:单行注释和多行注释B.所有的注释都可以嵌套使用C.单行注释用“//”符号表示,“//”后面为被注释的内容D.多行注释以符号“/*”开头,以符号“*/”结尾解析:在C语言中,有的注释可以嵌套使用,有的则不可以,例如:多行注释“/*…*/”中可以嵌套单行注释“//”;多行注释“/*…*/”中不能嵌套多行注释“/*…*/”。
完成下列训练题的基本步骤是:1、问题分析及解决方案框架确定充分地分析和理解问题本身,明确问题到底要做什么。
(what to do?)在确定解决问题框架过程中(how to do?),考虑怎样使程序结构清晰、合理、简单和易于调试,并确定每个函数的简单功能,以及函数之间的调用关系。
2、详细设计和编码确定算法的主要流程,在此基础上进行代码设计(coding),一般来讲,每个明确的功能模块程序不超过60行代码,否则,功能要继续分解。
3、上机前编写程序与检查上机前检查程序可有效提高调试效率,减少上机调试程序时的无谓错误。
程序检查主要有两种途径:用一组测试数据手工执行程序;或者通过阅读或给别人讲解自己的程序而深入、全面地理解程序逻辑,把程序中的明显错误事前排除。
4、上机调试程序提供的结果应当包括:算法、数据结构的设计、程序清单1、猜数游戏游戏的开始由机器产生一个随机数(1~100之间,用库函数random()取值),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示“your answer is HIGH,try again!”否则,程序提示“your answer is LOW,try again!”直到猜对为止。
程序可以实现连续猜数,直到游戏者退出。
程序输出要求:累计游戏者猜对这个数所需的次数n,当n<=7时,给出“congratulation!”,当7<n<15时,给出“I believe you can do it better!”;当n>15时,用exit(0)库函数退出程序。
2、百钱百鸡问题(穷举算法)我国古代数学家张丘建在《算经》中出了一道题“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。
百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”注:穷举法是最简单、最常见的一种程序设计方法,它充分利用了计算机处理的高速特性。
使用穷举法的关键是确定正确的穷举范围,即不能过分扩大,也不能过分缩小穷举的范围。
C语言程序设计实训练习:第一章1、使用公式℃=(5/9) (℉-32),打印下列华氏温度与摄氏温度对照表:0 -1720 -640 460 1580 26100 37120 48140 60160 71…300 148#include<stdio.h>int main(){int c,f;for(f=0;f<=300;f++){c=(int)((1.0*5/9)*(f-32));printf("\t%d\t%d\n",f,c);f+=19;}return 0;}2、编写一个统计空格、制表符与换行符个数的程序。
#include<stdio.h>int main(){int c,Num_space=0,Num_tab=0,Num_enter=0;while ((c = getchar()) != EOF){switch(c){case ' ':Num_space++;break;case '\t':Num_tab++;break;case '\n':Num_enter++;break;}}printf("The number of Space is %d\n",Num_space);printf("The number of Tab is %d\n",Num_tab);printf("The number of Enter is %d\n",Num_enter);return 0;}3、编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。
4、编写一个程序,统计输入的行数、单词数与字符数。
5、编写一个程序,统计各个数字、空白符(包括空格符、制表符及换行符)以及所有其他字符出现的次数。
6、重写标准库中的求幂函数:int pow(int x, int y)。
C语言练习作业及答案习题一1、C语言源程序最多可能由____ABCD____________部分组成?A)预处理部分B)变量说明部分C)函数原型声明部分D)函数定义部分2、一个完整的C语言源程序最少必须有___C____。
A)若干个主函数B)若干个函数C)且只能有一个主函数D)一个函数3、C语言以函数为源程序的基本单位最主要有利于__B_____。
A)程序设计结构化B)程序设计模块化C)程序设计简单化D提高程序设计有效性4、要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过______________B_______________________。
A)编辑和链接B)编译和链接C)修改和运行D运行并输入数据5、一个C程序的执行是从______A______。
A)本程序的main函数开始,到main函数结束。
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束6、以下叙述正确的是__A______。
A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误7、以下叙述不正确的是___D_____。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面8、C语言规定:在一个源程序中,main函数的位置是___A_____。
A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后习题二一、程序题1、阅读程序写运行结果(1)#includeintmain(){int某=10,y=6,z=3,t;if(某>y){t=某;某=y;y=t;}if(y>z){t=y;y=z;z=t;}if(某>y){t=某;某=y;y=t;}printf(\return0;}运行结果3610(2)#includeintmain(){intn=123;int某,y,z;某=n/100;y=n0/10;z=n;printf(\return0;}运行结果1,2,3(3)#includeintmain(){int某=10,y=6;printf(\printf(\printf(\return0;}运行结果011(4)#includeintmain(){int某=10,y=6,z=3,=0;+=某;+=y;+=z;printf(\return0;}运行结果19(5)#includeintmain(){inta=2,b=3;float某=3.5,y=2.5;printf(\return0;}运行结果3.5(6)#includeintmain(){inta=-100;unignedb,c;longd=32768;floate=4.56;b=a;a=c=d;printf(\a=e;printf(\return0;}本题假设int型数据占两个字节。
《程序设计基础》实验教程对于从事计算机行业的人员来说,设计能力是最主要的基本功之一。
入门课程《程序设计基础》的学习效果将直接关系到编程能力的掌握和提高以及后续课程的学习。
然而,实践证明,许多初学者在学习这门课程时的效果并不理想。
对初学者来说,如何学好本课程?首先,要理解教材中所给出的语法描述,并学会按语法规定去编写指定问题的求解程序。
经过这样的多次反复,初学者就可以找到编程的感觉。
除了要学好理论知识外,更重要的一点是要到计算机上去验证,因为只有实践才是检验真理的标准。
只有通过到计算机上去实践,才能发现学习中存在的问题,巩固所学知识,加强解决实际问题的能力,增强信心。
因此,《程序设计基础》课程的上机实验是本课程必不可少的实践环节,必须加以重视。
本课程上机实验的目的是使学生熟悉用高级语言解决实际问题的全过程,加深对语言的理解,得到程序设计基本方法和能力的训练。
在独立编写程序、独立上机调试程序的同时,真正能用高级语言这个工具去解决实际问题,对计算机学科的相关知识有所了解,从而为后续课程的学习奠定良好的基础。
本实验指导所用环境是Visual C++ 6.0及以上版本。
考虑到本课程的内容和特点,设置了十四个实验,每次实验需要两至三小时,分别侧重于教材中的一个方面,其中标有“*”号的习题的综合性较强,可供学有余力的学生选择。
实验时也可根据具体情况做适当调整。
虽然可能由于课时和机时限制等原因而不能在实验课时内全部得到安排,但还是建议学生能将其中的每个实验都能认真做一遍,因为这些实验都是学习本课程所必需的。
学生在做实验之前应仔细阅读本实验指导书,初步掌握实验的基本要求和实验方法。
在实验过程中,学生应该有意识的培养自己调试程序的能力,积累发现问题、解决问题的经验,灵活主动的学习。
对于分析运行结果的实验习题,上机前先进行用人工分析,写出运行结果,与上机调试得到的结果进行对照,如有差异,分析其原因。
对于程序编制的实验习题,上机前应考虑出较成熟的编程思路,有意识提供出多种方案,以灵活运用所学知识和技巧。
函数部分强化练习程序
1、定义一个函数,用于判断三角形的三条边能否构成三角形,如果能,则判断是普通三角形,等腰三角形,还是等边三角形。
#include <stdio.h>
intjudgeTrangle(inta,intb,int c);
void main()
{
inta,b,c,t;
printf("输入三角形三边长:");
scanf("%d%d%d",&a,&b,&c);
【】
switch(t)
{
case 0:printf("普通三角形!\n");break;
case 1:printf("等腰三角形!\n");break;
case 2:printf("等边三角形!\n");break;
default:printf("不构成三角形!\n");break;
}
}
/*
功能:判断三角形形状
返回值:-1,不够成三角形
0,普通三角形
1,等要三角形
2,等边三角形
*/
intjudgeTrangle(inta,intb,int c)
{
}
2、定义一个函数,用于验证哥德巴赫猜想。
任何一个充分大的偶数(大于等于6)总可以表示成两个素数之和。
#include <stdio.h>
intisPrime(int n);
voidgdbh(int n);
void main()
{
int n;
printf("Enter a odd integer:");
scanf("%d",&n);
if(n<6)n+=6; //保证大于6
if(n%2==1)n++; //保证是偶数
【】
}
intisPrime(int n)
{
}
voidgdbh(int n)
{
int i;
for(i=2;i<=n/2;i++)
{
if(isPrime(i) &&isPrime(n-i))
{
printf("%d=%d+%d ",n,i,n-i);
}
}
printf("\n");
}
3、定义两个函数,求两个数的最大公约数和最小公倍数,用主函数调用这两个
函数,并输出结果。
两个整数由键盘输入。
#include <stdio.h>
intgct(inta,int b);
int lcm(inta,int b);
void main()
{
int num1,num2;
printf("please input two numbers:\n");
scanf("%d%d",&num1,&num2);
printf("%d,%d的最大公约数是:%d\n",num1,num2,gct(num1,num2));
printf("%d,%d的最小公倍数是:%d\n",num1,num2,lcm(num1,num2));
}
intgct(inta,int b)
{
}
int lcm(inta,int b)
{
}
4、定义一个函数,用于将一个字符串反序存放。
例如,原串为ABCDEF,则处理后的字符串为:FEDCBA。
#include <stdio.h>
#include <string.h>
void reverse(char str[]);
void main()
{
charstr[50];
puts("请输入一行字符串:");
gets(str);
puts("转换后的字符串为:");
【】
puts(str);
}
void reverse(char str[])
}
5、定义函数,对给出年、月、日计算该天是该年的第几天。
(可利用数组来实现)。
#include <stdio.h>
int days(intyear,intmonth,int day);
void main()
{
intyear,month,day,d;
printf("请输入年、月、日:\n");
scanf("%d %d %d",&year,&month,&day);
d=days(year,month,day);
printf("这天是%d年的第%d天\n",year,d);
}
int days(intyear,intmonth,int day)
{
}
6、写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
#include <stdio.h>
#include <string.h>
intstrLength(char a[]);
void main()
{
charstr[50];
gets(str);
printf("\"%s\" length is %d\n",str,【】);
}
intstrLength(char a[])
{
}
8、编写输入数据函数、排序(冒泡法、选择法)函数、输出函数,完成10个数据的输入、排序和输出,在主函数中进行测试。
#include <stdio.h>
#include <stdlib.h>
#define SIZE 10
void inputData(int a[],int n); //数组数据赋值
void selectedSort(int a[],int n); //选择排序
void bubbleSort(int a[],int n); //冒泡排序
void outputData(int a[],int n); //输出数据
void main()
{
int a[SIZE];
inputData(a,SIZE);
outputData(a,SIZE);
selectedSort(a,SIZE);
bubbleSort(a,SIZE);
outputData(a,SIZE);
}
voidinputData(int a[],int n)
{
}
void selectedSort(int a[],int n) //选择排序
{
}
void bubbleSort(int a[],int n) //冒泡排序
{
}
voidoutputData(int a[],int n)
{
int i;
printf("数组为:\n");
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
9、利用递归函数,对一个给定的整数,输出其二进制形式。
#include<stdio.h>
voidtoBase(intn,int r)
{
}。