C语言程序设计实验指导书.docx
《C语言程序设计实验指导书.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验指导书.docx(41页珍藏版)》请在冰豆网上搜索。
C语言程序设计实验指导书
《C程序设计I》实验指导书
信息工程学院计算机系
C程序设计实验要求
课程实验是C程序设计课程的一个重要的实践环节,要求每个同学按以下要求独立完成每次实验,每次上机前必须编写完实验要求的所有题目,并按输出格式写出程序的运行结果,上机时调试程序并验证结果的正确性,若与运行结果不符,则要分析原因,上机时间由课内和课外上机两部分,以下时间为课内上机时间。
实验一简单程序设计
目的及要求:
1.熟练掌握C开发环境的窗口、菜单命令及相应的命令,并掌握在开发环境下如何编辑、编译、连接、运行一个C程序,以及如何保存和修改C语言的源程序。
2.通过运行一个简单的C程序过程,逐步了解C程序的基本结构及特点。
3.掌握C语言的基本数据类型,熟悉它们的使用方法及定义方式,了解各类型数据输出时所用的格式转
换符,熟悉各种运算符和表达式的使用特点。
4.熟练掌握C中赋值运算的使用。
1010测试验证结果
习题。
1011温度转换
Description
华氏温度和摄氏温度的转换公式为:
C=5/9*(F–32)
其中:
F为华氏温度
C摄氏温度
Input
一个整数表示华氏温度。
Output
输出一行。
该行包含一个浮点数C,表示转换的摄氏温度。
精确到小数点后两位。
SampleInput
93
SampleOutput
1012计算书费
Description
下面是一个图书的单价表:
计算概论元/本
数据结构与算法元/本
数字逻辑元/本
C++程序设计教程78元/本
人工智能35元/本
计算机体系结构元/本
编译原理元/本
操作系统43元/本
计算机网络56元/本
JAVA程序设计65元/本
给定每种图书购买的数量,编程计算应付的总费用。
Input
输入每行包含一组10个整数(大于等于0,小于等于100),分别表示购买的《计算概论》、《数据结构
与算法》、《数字逻辑》、《C++程序设计教程》、《人工智能》、《计算机体系结构》、《编译原理》、《操作系统》、
《计算机网络》、《JAVA程序设计》的数量(以本为单位)。
每两个整数用一个空格分开。
Output
输出一行。
该行包含一个浮点数f,表示应付的总费用。
精确到小数点后两位。
可用printf("%.2f\n",sum)来输出sum的值,并精确到小数点后两位。
SampleInput
15810511234
SampleOutput
1013时间相加
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程序。
1020函数值计算
Description
有一个函数y=x(x<1)
=2x-1(1<=x<10)
=3x-11(x>=10)
写一程序,输入x值,计算y值。
Input
一个整数x。
Output
输出函数值y。
SampleInput
20
SampleOutput
49
1021颠倒整数
Description
给定一个最多4位的正整数,将其颠倒过来输出。
例如:
输入123,则输出321。
Input
一个小于10000的正整数。
Output
颠倒后整数。
SampleInput
1234
SampleOutput
4321
1022整数排序
Description
对给定的4个整数进行排序,将由小到大的顺序输出。
Input
一行中有4个整数,整数之间用空格分隔。
Output
按升序输出,各整数之间用一个空格分隔。
SampleInput
253141827
SampleOutput
182527314
1023自整除数
Description
对一个整数n,如果其各个位数的数字相加得到的数m能整除n,则称n为自整除数.例如21,21%(2+1)==0,所以21是自整除数。
Input
一个整数n
Output
若n为自整除数,则输出TRUE,否则输出FALSE。
SampleInput
42
SampleOutput
TRUE
1024选作题:
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.掌握编写循环结构程序的方法。
1030整数的立方和
Description
给定一个正整数k(1即m=1+2*2*2+…+k*k*k。
Input
输入只有一行,该行包含一个正整数k。
Output
输出只有一行,该行包含1到k的立方和。
SampleInput
5
SampleOutput
225
1031求累加和
Description
有一分数序列:
2,3,5,8,13,21……
1235813
求出该序列的前n项之和。
Input
输入只有一行,该行包含一个正整数n(n<200)。
Output
序列前n项之和(保留两位小数)。
SampleInput
2
SampleOutput
1032与7无关的数
Description
一个正整数,如果它能被7整除,或者它的十进制表示中某位数字为7,则称其为与7相关的数。
现求所有小于等于n(n<100)的与7无关的正整数的平方和.
Input
输入为一行,正整数n,(n<100)。
Output
输出小于等于n的与7无关的正整数的平方和
SampleInput
21
SampleOutput
2336
1033选作题:
细菌繁殖
Description
一种细菌的繁殖速度是每天成倍增长。
例如:
第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,……。
现在给出第一天的日期和细菌数目,要你写程序求出到某一天的时候,细菌的数目。
Input
一行有5个整数,整数之间用一个空格隔开。
第一个数表示第一天的月份,第二个数表示第一天的日期,第三个数表示第一天细菌的数目,第四个数表示要求的那一天的月份,第五个数表示要求的那一天的日期。
已知第一天和要求的一天在同一年并且该年不是闰年,要求的一天一定在第一天之后。
数据保证要求的一天的细菌数目在长整数(long)范围内。
Output
对于每一组测试数据,输出一行,该行包含一个整数,为要求的一天的细菌数。
SampleInput
2281032
SampleOutput
40
实验四数组应用
目的及要求:
1.理解并掌握一维数组、二维数组的定义及引用。
2.熟练掌握利用数组处理数据的方法。
3.掌握字符串数组和字符串的使用方法及常用字符串函数在程序中的使用。
1040杨辉三角形
Description
打印出杨辉三角形的前n行。
Input
输入一个正整数n(n<20)。
Output
杨辉三角形。
SampleInput
5
SampleOutput
1
11
121
1331
14641
1041矩阵乘法
Description
已知矩阵A(mxn)和矩阵B(nxp),求C=AXB。
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
1042学生成绩管理
Description
学生信息包括:
学号、姓名、数学成绩、英语成绩、计算机成绩。
共有N个人(N<=10,可在程序内部定义,如用#defineN10)的信息,要求计算每人的总成绩,并按总成绩由高到低的顺序输出所有人的信息。
最后输出各门课程的平均成绩(保留2位小数)。
Input
为调试方便,N和学生信息可以在程序内部以初值的方式赋值给对应变量。
Output
见下例。
SampleInput
SampleOutput
NoNameMathsEnglishComputerTotal
1001zhang908088258
1003wang888580253
1002li788082240
averageofMaths:
averageofEnglish:
averageofComputer:
1043选作题:
大整数乘法
Description
求两个不超过200位的非负整数的积。
Input
有两行,每行是一个不超过200位的非负整数,没有多余的前导0。
Output
一行,即相乘后的结果。
结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。
SampleInput
100
SampleOutput
0
实验五函数应用
目的及要求:
1.理解函数的定义及函数的调用过程(函数的调用格式、调用方式及被调用函数的使用说明)。
2.掌握局部变量、全局变量的说明形式和引用方法。
3.掌握函数的嵌套与递归调用的全过程。
1050各类型变量在函数调用过程中的变化
Description
采用单步运行方式运行下面程序,观察各变量(静态局部变量及自动变量)在函数调用过程中的变化。
main()
{
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);
}
1051最大公约数和最小公倍数
Descri