《C程序设计》的实验指导书.docx
- 文档编号:9507760
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:58
- 大小:316.16KB
《C程序设计》的实验指导书.docx
《《C程序设计》的实验指导书.docx》由会员分享,可在线阅读,更多相关《《C程序设计》的实验指导书.docx(58页珍藏版)》请在冰豆网上搜索。
《C程序设计》的实验指导书
《C程序设计》实验指导书
信息工程学院计算机系
实验要求
课程实验是《C程序设计》课程的一个重要的实践环节,要求每个同学按以下要求独立完成每次实验,每次上机前必须编写完实验要求的所有题目,并按输出格式写出程序的运行结果。
上机时调试程序并验证结果的正确性。
若与运行结果不符,则要分析原因,上机时间包括课内和课外上机两部分。
《C程序设计》课程包括十一个实验,共有39个实验题目。
实验一简单程序设计
目的及要求:
1.熟练掌握C开发环境的窗口、菜单命令及相应的命令,并掌握在开发环境下如何编辑、编译、连接、运行一个C程序,以及如何保存和修改C语言的源程序。
2.通过运行一个简单的C程序过程,逐步了解C程序的基本结构及特点。
3.掌握C语言的基本数据类型,熟悉它们的使用方法及定义方式,了解各类型数据输出时所用的格式转
换符,熟悉各种运算符和表达式的使用特点。
4.熟练掌握C中赋值运算的使用。
10011计算球体积
Description
已知一个球的半径为R,计算球的体积V。
球体积的计算公式为:
V=4/3*3.14*R3
Input
输入一个整数,表示球的半径。
Output
输出一行。
该行包含一个浮点数V,表示球的体积。
精确到小数点后两位。
SampleInput
3
SampleOutput
113.04
10012计算书费
Description
下面是一个图书的单价表:
计算概论28.9元/本
数据结构与算法32.7元/本
数字逻辑45.6元/本
C++程序设计教程78元/本
人工智能35元/本
计算机体系结构86.2元/本
编译原理27.8元/本
操作系统43元/本
计算机网络56元/本
JAVA程序设计65元/本
给定每种图书购买的数量,编程计算应付的总费用。
Input
输入每行包含一组10个整数(大于等于0,小于等于100),分别表示购买的《计算概论》、《数据结构
与算法》、《数字逻辑》、《C++程序设计教程》、《人工智能》、《计算机体系结构》、《编译原理》、《操作系统》、
《计算机网络》、《JAVA程序设计》的数量(以本为单位)。
每两个整数用一个空格分开。
Output
输出一行。
该行包含一个浮点数,表示应付的总费用。
精确到小数点后两位。
输出参考格式:
"%.2f\n"。
SampleInput
15810511234
SampleOutput
2140.20
10013时间相加
Description
用整数表示时间,如:
1050表示10点50分,2010表示20点10分。
现输入两个时间,求两个时间的和。
例:
2030+850=520不是2880
1055+850=1945不是1905
Input
两行数据,每行一个整数。
Output
输出相加后的时间整数。
SampleInput
2030
850
SampleOutput
520
实验二分支结构程序设计
目的及要求:
1.掌握C程序设计的基本语句表达方式及基本语句结构的方法。
2.掌握C语言中输入、输出函数的基本功能。
3.掌握顺序和分支结构程序设计的方法。
4.能独立编写顺序及分支结构的C程序。
10021函数值计算
Description
有一个函数y=x(x<1)
=2x-1(1<=x<10)
=3x-11(x>=10)
写一程序,输入x值,计算y值。
Input
一个整数x。
Output
输出函数值y。
SampleInput
20
SampleOutput
49
10022颠倒整数
Description
给定一个最多4位的正整数,将其颠倒过来输出。
例如:
输入123,则输出321。
Input
一个小于10000的正整数。
Output
颠倒后整数。
SampleInput
1234
SampleOutput
4321
10023整数排序
Description
对给定的4个整数进行排序,将由小到大的顺序输出。
Input
一行中有4个整数,整数之间用空格分隔。
Output
按升序输出,各整数之间用一个空格分隔。
SampleInput
253141827
SampleOutput
182527314
10024自整除数
Description
对一个整数n,如果其各个位数的数字相加得到的数m能整除n,则称n为自整除数.例如21,21%(2+1)==0,所以21是自整除数。
Input
一个整数n
Output
若n为自整除数,则输出TRUE,否则输出FALSE。
SampleInput
42
SampleOutput
TRUE
10025选作题:
FibonacciAgain
ProblemDescription
ThereareanotherkindofFibonaccinumbers:
F(0)=7,F
(1)=11,F(n)=F(n-1)+F(n-2)(n>=2).
Input
Inputanintegern.(n<1,000,000).
Output
Printtheword"yes"if3divideevenlyintoF(n).
Printtheword"no"ifnot.
SampleInput
5
SampleOutput
no
SampleInput
2
SampleOutput
yes
实验三循环结构程序设计
目的及要求:
1.熟练掌握循环语句中for语句、while语句和dowhile语句使用方法。
2.掌握编写循环结构程序的方法。
10031整数的立方和
Description
给定一个正整数k(1 即m=1+2*2*2+…+k*k*k。 Input 输入只有一行,该行包含一个正整数k。 Output 输出只有一行,该行包含1到k的立方和。 SampleInput 5 SampleOutput 225 10032求累加和 Description 求出下列分数序列的前n项之和: 2,3,5,8,13,21…… 1235813 Input 输入只有一行,该行包含一个正整数n(n<200)。 Output 序列前n项之和(保留两位小数)。 SampleInput 2 SampleOutput 3.50 10033与7无关的数 Description 一个正整数,如果它能被7整除,或者它的十进制表示中某位数字为7,则称其为与7相关的数。 现求所有小于等于n(n<100)的与7无关的正整数的平方和. Input 输入为一行,正整数n,(n<100)。 Output 输出小于等于n的与7无关的正整数的平方和 SampleInput 21 SampleOutput 2336 10034选作题: 细菌繁殖 Description 一种细菌的繁殖速度是每天成倍增长。 例如: 第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,……。 现在给出第一天的日期和细菌数目,要你写程序求出到某一天的时候,细菌的数目。 Input 一行有5个整数,整数之间用一个空格隔开。 第一个数表示第一天的月份,第二个数表示第一天的日期,第三个数表示第一天细菌的数目,第四个数表示要求的那一天的月份,第五个数表示要求的那一天的日期。 已知第一天和要求的一天在同一年并且该年不是闰年,要求的一天一定在第一天之后。 数据保证要求的一天的细菌数目在长整数(long)范围内。 Output 对于每一组测试数据,输出一行,该行包含一个整数,为要求的一天的细菌数。 SampleInput 2281032 SampleOutput 40 实验四数组应用 目的及要求: 1.理解并掌握一维数组、二维数组的定义及引用。 2.熟练掌握利用数组处理数据的方法。 3.掌握字符串数组和字符串的使用方法及常用字符串函数在程序中的使用。 10041杨辉三角形 Description 打印出杨辉三角形的前n行。 Input 输入一个正整数n(n<20)。 Output 杨辉三角形。 SampleInput 5 SampleOutput 1 11 121 1331 14641 10042矩阵乘法 Description 已知矩阵A(m×n)和矩阵B(n×p),求C=A×B。 Input 第一行三个整数为m、n、p(m、n、p均小于10),从第二行开始为m行n列A矩阵,然后为n行p列的B矩阵。 所有数据之间均由一个空格分隔。 Output 输出m行p列的C矩阵,所有数据之间均由一个空格分隔。 SampleInput 234 103 340 1021 2345 2115 SampleOutput 73516 11122223 10043学生成绩管理 Description 学生信息包括: 学号、姓名、数学成绩、英语成绩、计算机成绩。 共有N个人(N<=10,可在程序内部定义,如用#defineN10)的信息,要求计算每人的总成绩,并按总成绩由高到低的顺序输出所有人的信息。 最后输出各门课程的平均成绩(保留2位小数)。 Input 输入分N行,每行为一个学生的学号、姓名、数学成绩、英语成绩、计算机成绩信息。 Output 输出为N+4行。 第一行为固定字符串;第2~N+1行为按总成绩由高到低顺序输出的所有人信息;最后3行输出各门课程的平均成绩。 SampleInput 1001zhang908088 1002huang788082 1003xiong888580 SampleOutput NoNameMathsEnglishComputerTotal 1001zhang908088258 1003xiong888580253 1002huang788082240 averageofMaths: 85.33 averageofEnglish: 81.67 averageofComputer: 83.33 10044选作题: 大整数乘法 Description 求两个不超过200位的非负整数的积。 Input 有两行,每行是一个不超过200位的非负整数,没有多余的前导0。 Output 一行,即相乘后的结果。 结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。 SampleInput SampleOutput 实验五函数应用 目的及要求: 1.理解函数的定义及函数的调用过程(函数的调用格式、调用方式及被调用函数的使用说明)。 2.掌握局部变量、全局变量的说明形式和引用方法。 3.掌握函数的嵌套与递归调用的全过程。 10051各类型变量在函数调用过程中的变化 Description 采用单步运行方式运行下面程序,观察各变量(静态局部变量及自动变量)在函数调用过程中的变化。 voidmain() { inta=3,i; for(i=0;i<3;i++) printf(“P=%d\n”,p(a)); } intp(a) inta; {staticintc=1; autointb=0; b=b+1;c=c+1; return(a+b+c); } 10052最大公约数和最小公倍数 Description 对给定的两组数(每组包括2个整数),分别计算出两组数的最大公约数和最小公倍数的和。 如: 20、12为第一组,28、7为第二组。 第一组数的最大公约数为4,最小公倍数为60;第二组数的最大公约数为7,最小公倍数为28;所以两组数的最大公约数之和为11,两组数的最小公倍数之和为88。 Input 输入包括两行,每行为一组,每组两个整数。 Output 输出包括两行,第一行为两组数的最大公约数之和,第二行为两组数的最小公倍数之和。 SampleInput 2012 287 SampleOutput 11 88 10053进制转换 Description 对输入的两十六进制数(两个字符串),将其转换成十进制后再求和。 要求十六进制到十进制的转换功能由函数完成。 例如: 输入3a1、80,由于3a1转换为十进制后为929,80转换为十进制后为128,所以和为1057。 Input 输入包括两行,每行为一个十六进制数。 Output 输出包括一行为两数之和的十进制表示。 SampleInput 3a1 80 SampleOutput 1057 10054字符串替换 Description 将一段英文文章中字符串用给定的字符串替换。 Input 输入包括多行,第一行为一段英文文章(长度不超过80)。 以后每行包括2个字符串(长度不超过20),之间由空格分隔,第一个串为原串,第二个串为替换串。 当遇到00两个串时表示输入结束,并且此行不需处理。 Output 输出替换后的文章。 SampleInput hellohowareyes. hH esou 00 SampleOutput HelloHowareyou. 10055排序 Description 对输入的10个整数进行排序,按从小到大的顺序输出。 要求排序过程由函数完成。 Input 输入包括一行,共10个整数,各数之间由空格分割。 Output 在同一行上输出排好序的10个数,各数之间由空格分割。 SampleInput 2548132768764320965 SampleOutput 9132025274348656876 10056选作题: 数制转换 Description 求任意两个不同进制非负整数的转换(2进制~16进制),所给整数在long所能表达的范围之内。 不同进制的表示符号为(0,1,...,9,A,B,C,D,E,F)。 Input 输入只有一行,包含三个整数a,n,b。 a表示其后的n是a进制整数,b表示欲将a进制整数n转换成b进制整数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C程序设计 程序设计 实验 指导书