第一篇:C语言程序设计实验
第一次试验
1.编写一个程序,求出给定半径r的圆的面积和周长,并且输出计算结果。其中: r的值由用户输入,用浮点型数据处理。
2.给一百分制成绩,要求输出成绩等级’A’、’B’、’C’、’D’、’E’。90分以上
为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。
3.输入两个正整数m和n,求其最大公约数和最小公倍数。
4.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
5.求sn=a+aa+aaa+…+aa...a(n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222
(此时n=5),n由键盘输入。
第二次试验
1.有一分数序列:,,23581321,...求出这个数列的前20项之和。1235813
2.求一个33矩阵对角线元素之和。
3.将一个数组中的值按逆序重新存放,例如原来的顺序为:8,6,5,4,1。要求改
为:1,4,5,6,8。
4.有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格、以及其他字符的个数。
第三次实验
1.将字符串computer赋给一个字符数组,然后从第一个字母开始输出该串。请用指针实
现。
2.将无符号八进制数字字符串转换为十进制整数。例如,输入的字符串为556,则输出十
进制整数366。用指针实现。
3.编程输入一行文字,找出其中的大写字母,小写字母,空格,数字,及其他字符的个数,用指针实现。
第四次实验
1.写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。
2.写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
3.写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个
数,在主函数中输入字符串及输出上述的结果。
4.写一函数,使给定的一个二维数组(3×3)转置,即行列互换。
第二篇:C语言程序设计实验四(本站推荐)
C语言程序设计实验
(四)[实验1] scanf()、printf()函数的使用。
1.实验题目
输入1个学生学号和4门课程成绩,输出这个学生的学号、4门课程成绩和平均成绩。
2.实验要求
(1)按表格的形式输出,以行内输出一个学生的信息。
(2)学号用长整型,各科成绩用单精度型。
3.实验目标
(1)掌握实现人机对话形式的方法,scanf()输入。
(2)体会根据需要控制输出格式的方法,printf()输出。
4.实验指导
利用格式的数据宽度控制数据的对位输出。输出如下格式:
The number and score of a student is:
|---|
|number | score1 | score2 | score3 | sco re4 | average |
|---|
|10011| 67.5|88.0 |93.5 |78.0|81.75 |
|---|
[实验2] getchar()、putchar()函数的使用
1.实验题目
用getchar()函数读入a~v之间的一个字母,用putchar()函数输出一个5行5列的矩阵,该矩阵第一行为读入的字母,下一行为紧跟该字母后的字母,依此类推。如输入a,则输出的矩阵为:
aaaaa
bbbbb
ccccc
ddddd
eeeee
2.实验要求
(1)运用getchar()进行字符输入。
(2)运用putchar()进行字符输出。
3.实验目标
(1)体会根据需要控制输出格式的方法。
[实验3] 3.6 下面程序运行时在键盘上如何输入?如果a=3,b=4,x=8.5,y=71.82,c1=’A’,c2=’a’,请写出对应每个scanf函数的输入情况。
main()
{ int a,b;float x,y;char c1,c2;
scanf(“a=%d□b=%d”,&a,&b);
scanf(“□%f %e”,&x,&y);
scanf(“□%c %c”,&c1,&c2);
}
3.7编一程序,从键盘输入一个圆半径值,求圆周长、圆面积、圆球表面积、圆球体积。输出结果时,要求有文字说明,保留2位小数。
提示:设圆半径为r,则圆周长=2πr,圆面积=πr2,圆球表面积=4πr2,圆球体积= 4πr3/3。
第三篇:C语言程序设计实验安排
C语言实验指导
实验一 顺序结构程序设计(2学时)
一、实验目的熟悉在VC运行环境下,编辑调试C语言程序的一般步骤。掌握顺序结构程序设计的基本思想和基本方法。
二、实验要求
1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。2. 在VC运行环境下,编辑录入源程序。
3. 调试运行源程序,注意观察调试运行过程中发现的错误及改正方法。4. 掌握如何根据出错信息查找语法错误。
5.最后提交带有注释的源程序文件(扩展名为.c)。要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。
6.源程序注释信息可以包括以下几方面内容:
⑴ 程序功能描述。
⑵ 程序版本号、创作日期。
⑶ 作者信息描述:班级、学号、姓名。
⑷ 问题分析描述。
⑸ 算法设计描述。
⑹ 关键语句注释说明。
⑺ 调试运行过程中出现的错误及改正方法。
⑻ 输入数据样例。
⑼ 输出数据样例。
三、实验内容
以下两题,任选其一解答。
你知道淄博到北京的地面距离是多少千米吗,淄博到纽约的地面距离又是多少千米呢?说不上来了吧。还是让我们编一个程序来计算一下吧。
1.已知地球的平均半径为6371千米,假设在地球的同一纬度上,有两个处于不同经度的城市A、B,编程序求出这两个城市之间的地面距离。
输入数据样例:例如,欲求北纬30度上东经10度到东经50度的距离,输入格式应为:30 10 50
参考测试数据:
输入:0 0 180 输出:20015.08
输入:30 0 90 输出:8397.7
2输入:60 0 45 输出:2453.20
2.地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面距离。
提示:球面上两点之间的最短距离,等于过这两点以球心为圆心的圆上,这两点之间劣弧的长度。(即这两点与球心之间的连线构成的夹角所对球面劣弧的长度)。
建议你自己一步步推导出公式,而不要照搬网上的现成公式。
四、常见问题
疑问1:这分明是两道数学题啊,能否将数学公式提供给我们呢,我们的主要任务不是编写程序吗?
答:建立数学模型也是编程序的一部分。学会分析解决现实中遇到的问题,是我们学习的重要目标。
疑问2:这个问题好像属于球面几何的范畴,用平面几何可以求解吗?
答:这个问题的确涉及到球面几何,但是也的确可以利用投影以及平面几何方法来求解。
实验二 选择结构程序设计(2学时)
一、实验目的
掌握选择结构程序设计的一般方法及选择结构程序的调试方法。
二、实验要求
1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。2. 在VC运行环境下,编辑录入源程序。
3. 调试运行源程序,注意观察调试运行过程中发现的错误及改正方法。4. 掌握如何根据出错信息查找语法错误。
5.最后提交带有充分注释的源程序文件(扩展名为.c)。要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。
6.源程序注释信息可以包括以下几方面内容:
⑴程序功能描述。
⑵程序版本号、创作日期。
⑶作者信息描述:班级、学号、姓名。
⑷问题分析描述。
⑸算法设计描述。
⑹关键语句注释说明。
⑺调试运行过程中出现的错误及改正方法。
⑻输入数据样例。
⑼输出数据样例。
三、实验内容
你知道你生日那天是星期几吗,还有你知道你爸爸生日那天是星期几吗?你可能会说:可以查万年历啊。那么,不查万年历你能计算出来吗?
以下两题,任选其一解答。
1.编程序实现:输入一个年份y,求出从公元1年1月1日到y年1月1日,总共有多少天,并求出y年的1月1日是星期几。
2.编程序实现:输入任意一个日期的年、月、日的值,求出从公元1年1月1日到这一天总共有多少天,并求出这一天是星期几。
四、常见问题
疑问1:闰年的规律是不是四年一闰?
答:四年一闰是儒略历(儒略也就是凯撒大帝)的置闰规则。我们现在使用的是格里高利历,置闰规则是每400年97闰。
疑问2:公元1年1月1日是星期几呢?
答:星期一。
疑问3:据说从儒略历改为格里高利历时,将1582年10月4日的下一天定为格里高利历的10月15日,中间销去了10天,这会不会影响星期几的计算?
答:这个调整是对儒略历误差的纠正,并不会影响总天数和星期几的计算。
疑问4:这里计算总天数,好像要用到循环程序吧?
答:其实根据闰年的置闰规则,不使用循环也可以计算出来总天数。当然,你想使用循环编写该程序也是可以的。
实验三 循环结构程序设计(2学时)
一、实验目的掌握循环结构程序设计的一般方法及循环结构程序的调试方法。
二、实验要求
1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。2. 在VC运行环境下,编辑录入源程序。
3. 调试运行源程序,注意观察调试运行过程中发现的错误及改正方法。4. 掌握如何根据出错信息查找语法错误。
5.最后提交带有充分注释的源程序文件(扩展名为.c)。要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。
6.源程序注释信息可以包括以下几方面内容:
⑴程序功能描述。
⑵程序版本号、创作日期。
⑶作者信息描述:班级、学号、姓名。
⑷问题分析描述。
⑸算法设计描述。
⑹关键语句注释说明。
⑺调试运行过程中出现的错误及改正方法。
⑻输入数据样例。
⑼输出数据样例。
三、实验内容
以下两题,任选其一解答。
1. 海萍夫妇为了彻底告别“蜗居”生活,痛下决心贷款60万元购买了一套三居室。若贷款月利率为0.5%,还款期限为120个月,还款方式为等额本金还款法(即贷款期限内每期以相等的额度偿还贷款本金,贷款利息随本金逐期递减)。试求出每个月还款的本金、每个月的利息以及总利息分别是多少元。
2. 若还款方式采用等额本息还款法(即贷款期限内每期以相等的额度偿还贷款本息,贷款利息随本金逐期递减)。试求出每个月还款的本金、每个月的利息以及总利息分别是多少元。
四、常见问题
疑问1:等额本息还款法每个月的还款额怎么计算,应该有个公式吧,要不然怎么计算出来每个月应还的利息与本金?
答:的确有一个计算公式。当然你可以自己推导出来(这样你会很有成就感!),要不然就从网上搜索出来。
实验四 循环程序综合应用(4学时)
一、实验目的:
掌握循环结构程序设计的一般方法及循环结构程序的调试方法,能够综合运用顺序、选择和循环结构解决一般难度的实际应用问题。
二、实验要求
1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。2. 在VC运行环境下,编辑录入源程序。
3. 调试运行源程序,注意观察调试运行过程中发现的错误及改正方法。4. 掌握如何根据出错信息查找语法错误。
5.最后提交带有充分注释的源程序文件(扩展名为.c)。要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。
6.源程序注释信息可以包括以下几方面内容:
⑴程序功能描述。
⑵程序版本号、创作日期。
⑶作者信息描述:班级、学号、姓名。
⑷问题分析描述。
⑸算法设计描述。
⑹关键语句注释说明。
⑺调试运行过程中出现的错误及改正方法。
⑻输入数据样例。
⑼输出数据样例。
三、实验内容
以下两题,任选其一解答。
1.编程序实现如下功能:输入任意一个年份和月份,按以下格式输出该月份的公历日历。
要求由程序计算出来该月份的1日是星期几,并用循环控制打印。打印样例如下:
2012年日历
==========
9月
---------日 一 二 三 四 五 六2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30-------------------------
2.编程序实现如下功能:输入任意一个年份,按以下格式输出该年份全年的公历日历。要求由程序计算出来每个月份的1日是星期几,并用循环控制打印。
四、常见问题
疑问1:如何控制某个月1日的打印位置?
答:先由程序计算出来该月份的1日是星期几,然后控制在打印“1”之前打印相应个数的空格。
疑问2:如何控制每周和每月的打印换行?
答:可以根据当前这一天的打印位置控制每周的打印换行,并根据该月份的天数控制每月的打印换行。
实验五 字符串处理综合应用(4学时)
一、实验目的
掌握字符串处理的一般方法及字符串处理应用程序的调试方法,能够综合运用选择、循环结构和数组、指针解决一般难度的实际应用问题。
二、实验要求
1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。2. 在VC运行环境下,编辑录入源程序。
3. 调试运行源程序,注意观察调试运行过程中发现的错误及改正方法。4. 掌握如何根据出错信息查找语法错误。
5.最后提交带有充分注释的源程序文件(扩展名为.c)。要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。
6.源程序注释信息可以包括以下几方面内容: ⑴程序功能描述。
⑵程序版本号、创作日期。
⑶作者信息描述:班级、学号、姓名。
⑷问题分析描述。
⑸算法设计描述。
⑹关键语句注释说明。
⑺调试运行过程中出现的错误及改正方法。
⑻输入数据样例。
⑼输出数据样例。
三、实验内容
以下两题,任选其一解答。
1.编程实现,输入一个整数的小写金额值(即不考虑角和分),转化为大写金额值并输出。先实现基本功能,如输入1002300,可以输出“壹佰零拾零万贰仟叁佰零拾零元整”。
2.编程实现,输入一个小写金额值,转化为大写金额值输出。要求实现相对完善的功能,如输入1002300.90,应该输出“壹佰万贰仟叁佰元零玖角整”。
四、常见问题
疑问1:如何才能分离出整数中的每一位数字?
答:可以利用整数的求余数和除法运算实现数字的分离,同时将分离出的数字存入到一个事先定义好的数组中,每个数组元素只存储一位数字。
疑问2:若不能确定整数的实际位数,如何控制分离过程?
答:可以通过循环控制数字的分离过程,每循环一次分离出来当前的最末一位,然后去掉最末一位,直至分离出所有的位。
疑问3:如何控制给某位数字添加合适的数量单位,如万、仟、佰、拾、元?
答:可以根据该数字在原小写数值中的位置进行控制,如第0位单位为“元”,第1位单位为“拾”,依此类推。
实验六 文件应用程序设计(2学时)
一、实验目的掌握文件应用程序设计的一般方法及其调试方法。
二、实验要求
1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。2. 在VC运行环境下,编辑录入源程序。
3. 调试运行源程序,注意观察调试运行过程中发现的错误及改正方法。4. 掌握如何根据出错信息查找语法错误。
5.最后提交带有充分注释的源程序文件(扩展名为.c)。要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。
6.源程序注释信息可以包括以下几方面内容:
⑴程序功能描述。
⑵程序版本号、创作日期。
⑶作者信息描述:班级、学号、姓名。
⑷问题分析描述。
⑸算法设计描述。
⑹关键语句注释说明。
⑺调试运行过程中出现的错误及改正方法。
⑻输入数据样例。
⑼输出数据样例。
三、实验内容
以下两题,任选其一解答。
1. 海萍夫妇为了彻底告别“蜗居”生活,痛下决心贷款60万元购买了一套三居室。若贷款月利率为0.5%,还款期限为120个月,还款方式为等额本金还款法(即贷款期限内每期以相等的额度偿还贷款本金,贷款利息随本金逐期递减)。试求出每个月还款的本金、每个月的利息以及总利息分别是多少元。要求将输出结果写入到数据文件中。
2. 若还款方式采用等额本息还款法(即贷款期限内每期以相等的额度偿还贷款本息,贷款利息随本金逐期递减)。试求出每个月还款的本金、每个月的利息以及总利息分别是多少元。要求将输出结果写入到数据文件中。
第四篇:《C语言程序设计》实验四
电子科技大学 计算机 学院
标 准 实 验 报 告
(实验)课程名称
C语言程序设计
电子科技大学教务处制表
电 子 科 技 大 学 实
验
报
告
四
学生姓名:
学 号:
指导教师:刘 勇 实验地点: 计算机学院软件306室
实验日期:
****年**月**日
一、实验室名称:
软件实验室
二、实验项目名称:函数的应用及预处理
三、实验学时:2
四、实验原理:
使用Turbo C软件(简称TC),在微型计算机上,对其程序进行编辑、编译、连接与运行。Turbo C是一个集成环境,它具有方便、直观、易用的界面和丰富的库函数。通过上机练习掌握在TC环境下编辑、编译、连接、和运行C程序的方法和过程。
五、实验目的
1. 掌握C语言中定义函数的方法; 2. 掌握函数传值调用的方法; 3. 掌握函数传址调用的方法; 4. 掌握递归函数的设计方法; 5. 掌握命令行参数的使用方法;
6. 掌握函数在不同文件中的编译、链接方法。
六、实验内容
编程实验,完成以下上机内容,调试运行程序并完成报告 1)、教材第七章习题7.4;
2)、编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出;
3)、教材第七章习题7.11; 4)、教材第七章习题7.15; 5)、教材第七章习题7.24; 6)、求解汉渃塔(tower of Hanoi)问题。在一块平板上立有3根立柱,从左到右分别标记为A,B,C。最初在A柱上放有6个大小不等的圆盘,并且大盘在下面,小盘在上面。要求将这些盘从A移到C(可以借助B柱)。条件是:每次只能移动一个盘,并且不允许把大盘放在小盘的上面。(提示:利用函数的递归调用);
七、实验器材(设备、元器件):
pc硬件要求:CPU PII 以上,64M 内存,1OOM 硬盘空间即可。
软件要求:DOS3.0以上/Windows98/Me/XP/NT/2000。
八、实验步骤: 实验编程与运行结果
⑴ 编写一个求两个整数的最小公倍数的函数,两个整数由键盘输入,用主函数调用这个函数,并输出结果。
程序文件名为7_4.c,源程序清单如下:
#include
运行结果:
⑵ 编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出。
程序文件名为testf3.c,源程序清单如下:
main(){ int i,j,a[7];int temp;clrscr();for(i=1;i<7;i++){ printf(“nInput a[%d]=”,i);scanf(“%d”,&a[i]);} for(i=1;i<6;i++)for(j=1;j<7;j++){ if(a[j] temp=a[j];a[j]=a[j+1];a[j+1]=temp;} } for(i=1;i<7;i++){ printf(“n%5d”,a[i]);} }_ 运行结果: ⑶ 编写一个通过函数调用把输入的小写字符串变为大写字符串的程序。 程序文件名为7_11.c,源程序清单如下: #include 运行结果: ⑷ 编写一个求三个整数中最小值整数的函数,主程序要求三个整数由命令行参数输入,调用该函数并输出结果。 程序文件名为7_15.c,源程序清单如下: #include #include 运行结果: ⑸ 编写一个程序,先定义一个将字符大写、小写和数字进行分类的带参数宏,然后对从键盘输入的一系列字符进行分类计数,并输出计数的结果,程序遇到字符‘*’结束。 程序文件名为7_24.c,源程序清单如下: #include 运行结果: ⑹ 求解汉渃塔(tower of Hanoi)问题。在一块平板上立有3根立柱,从左到右分别标记为A,B,C。最初在A柱上放有6个大小不等的圆盘,并且大盘在下面,小盘在上面。要求将这些盘从A移到C(可以借助B柱)。条件是:每次只能移动一个盘,并且不允许把大盘放在小盘的上面。(提示:利用函数的递归调用) 程序文件名为testf4.c,源程序清单如下: void move(char x,char y){ printf(“%c------%c> ”,x,y);} void hanoi(int n,char one,char two,char three){ if(n==1)move(one,three);else { hanoi(n-1,one,three,two);move(one,three);hanoi(n-1,two,one,three);} } main(){ int m;printf(“Input the number of diskes: ”);scanf(“%d”,&m);printf(“The step to moving %3d diskes: n”,m);hanoi(m,'A','B','C');}_ 运行结果: 九、总结及心得体会: 十、对本实验过程及方法、手段的改进建议: 报告评分: 指导教师签字: 电子科技大学 计算机 学院 标 准 实 验 报 告 (实验)课程名称 C语言程序设计 电子科技大学教务处制表 电 子 科 技 大 学 实 验 报 告 四 学生姓名: 学 号: 指导教师:王瑞锦 实验地点: 实验日期: ****年**月**日 一、实验室名称: 软件实验室 二、实验项目名称:函数的应用及预处理 三、实验学时:2 四、实验原理: 使用Turbo C软件(简称TC),在微型计算机上,对其程序进行编辑、编译、连接与运行。Turbo C是一个集成环境,它具有方便、直观、易用的界面和丰富的库函数。通过上机练习掌握在TC环境下编辑、编译、连接、和运行C程序的方法和过程。 五、实验目的 1. 掌握C语言中定义函数的方法; 2. 掌握函数传值调用的方法; 3. 掌握函数传址调用的方法; 4. 掌握递归函数的设计方法; 5. 掌握命令行参数的使用方法; 6. 掌握函数在不同文件中的编译、链接方法。 六、实验内容 编程实验,完成以下上机内容,调试运行程序并完成报告 1)、教材第七章习题7.4; 2)、编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出; 3)、教材第七章习题7.11; 4)、教材第七章习题7.15; 5)、教材第七章习题7.24; 6)、求解汉渃塔(tower of Hanoi)问题。在一块平板上立有3根立柱,从左到右分别标记为A,B,C。最初在A柱上放有6个大小不等的圆盘,并且大盘在下面,小盘在上面。要求将这些盘从A移到C(可以借助B柱)。条件是:每次只能移动一个盘,并且不允许把大盘放在小盘的上面。(提示:利用函数的递归调用); 七、实验器材(设备、元器件): pc硬件要求:CPU PII 以上,64M 内存,1OOM 硬盘空间即可。 软件要求:DOS3.0以上/Windows98/Me/XP/NT/2000。 八、实验步骤: 实验编程与运行结果 ⑴ 编写一个求两个整数的最小公倍数的函数,两个整数由键盘输入,用主函数调用这个函数,并输出结果。 程序文件名为7_4.c,源程序清单如下: #include 运行结果: ⑵ 编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出。 程序文件名为testf3.c,源程序清单如下:第五篇:《C语言程序设计》实验四