




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一顺序结构程序设计【实验日期】年 月 日【实验目的】1. 熟悉VC+6. 0调试环境,掌握运行一个C程序的基本步骤。2. 掌握基本输入、输出函数的使用。3. 能够编写简单的顺序结构程序,实现简单的数据处理。4. 掌握C程序的查错方法。【实验容】 调试示例改正下列程序中的错误,求华氏温度1000F对应的摄氏温度。计 算公式如下,其中:c表示摄氏温度,f表示华氏温度。5x(/-32)9源程序(有错误的程序)#include stdoi. h”void main() int c;f;f=100;c=5*(f-32)/9;printf( f=d,c=%dnM tf,c);运行结果(改正后程序的运行
2、结果)f=100,c=37调试过程:(1) 输入源程序。(2) 使用菜单或工具栏来完成编译、连接和运行操作。(3) 单击编译(Compile)按钮,编译时出现的第一条错误信息是: Cannot open include file: stdoi.h :no such file ordirectory通过拖动信息窗口右侧的滚动块或将信息窗口拉大可查看错误信 息。双击该错误信息,箭头指向源程序的第一行,因为“stdio.h”被 误写为Stdoi.h改正为“Stdio.h”后,重新编译,新产生的第一条错误信息是:f :undeclared identifier双击该错误信息,箭头指向源程序的第四行,错
3、误信息指出“f” 变量没有被定义。仔细观察后,发现“f”前的分号应该为逗号。将“f” 前的分号改为逗号后,重新编译,编译正确。(4) 单击连接(Build)按钮,连接正确。(5) 单击运行(Build Execute)按钮,运行结果为:f=d,c=100o 结果不符合題目的要求,仔细检查源程序,发现函数printf中“f=d”的d”应为“d”。改正后,重新编译、连接和运行,运行 结果与题目要求的结果一致。 改错题改正下列程序中的错误,计算x的平方y,并分别以“y=x*xM和 x*x=y”的形式输出x和y的值。源程序(有错误的程序)/*found*/#include stdoi. h”void
4、main() int y,x;printf( a Input x:);scanf (“d,&x); y=x*x;/*found*/ printf (“d=%d*%dn tx);/*found*/printf(“d*%d=%dn ty);运行结果2Input x: 4 16=4*4 4*4=16运行结果1(改正后程序的运行结果)Input x: 525=5*55*5=25 编程题1、已知某位学生的数学、英语和计算机课程的成绩分别是82分、 78分和91分,求该生3门课的平均成绩。输出示例:Math=82, eng二7& comp二91. average=832、当n为152时,分别求出n的个位数
5、字(dl)、十位数字(d2) 和百位数字(d3)的值。输出示例:整数152的个位数字是2,十位数字是5,百位数字是 1提示:n的个位数字dl的值是n%10,十位数字d2的值是(n/10)%10, 百位数字d3的值是n/100o思考:如果n是一个四位数,任何求出它的每一位数字?指导教师:实验二选择、循环程序设计【实验日期】年 月 日【实验目的】1. 掌握关系运算符及逻辑运算符。2. 掌握if语句、switch语句的格式及执行过程。3. 掌握whi le语句、do-while语句和for语句的格式和执行过程。4. 掌握选择结构、循环结构程序设计的基本方法。【实验容】 改错题1. 改正下列程序中的错
6、误,输入X计算并输出下列分段函数 f(x)的值(保留一位小数)。1/x(xHO)y=f(x)=lo(x=0)源程序(有错误的程序)/*found */include stdoi. hvoid main()tdoub1e x,y;printf( Enter x: ”);/* found */scanf( %lf ,x);if(x!=0)/* found */y=l/xelsey=0;printf ( f(%. 2f) =%. lfn” .x.y) :运行结果1(改正后程序的运行结果)Enter x: 5F(10. 00)二0.2运行结果2Enter x: 0F(0. 00)=0. 02、改正下列
7、程序中的错误,计算表达式1+2+3+100的值。 源程序(有错误的程序)include stdio. h”void main()/found*/ int i,sum;/*found*/for(i=l,i=100,i+)sum二sum+i;printf( wsum=%dnv ,sum);运行结果(改正后程序的运行结果)Sum=5050 编程题1、输入三角形的3条边a, b, c,如果能构成一个三角形,输出 面积area和周长perimeter (保留2位小数);否则,输出不构成三 角形”。在一个三角形中,任意两边之和大于第三边。三角形面积计算 公式:area= Js(s g)(s - b(s 一
8、 c),其中 s=(a+b+c)/2输入输出示例(运行2次)第一次运行:请输入三角形的三边:3 4 5area=6. 00 perimeter=12. 00第二次运行:请输入三角形的三边:1 3 1不构成三角形2、输入1个正整数n,计算1+丄+丄+的前n项之和,输出时35保留2位小数。输入输出示例(运行2次)第一次运行:Enter n: 3suni=l 53第二次运行:Enter n: 10sum=2. 13实验三函数程序设计【实验日期】年 月 日【实验目的】1. 熟练掌握函数的定义和调用。2. 熟练掌握使用函数编写程序。3. 掌握函数的实参、形参和返回值的概念和使用。【实验容】 改错題改正下
9、列程序中的错误,计算1 !+2!+3!+10!的值,要求定义并 调用函数fact(n)计算n!,函数类型是double。输出示例1!+2!+10!二4037913. 000000源程序(有错误的程序)#include stdio. hdouble fact (int n): /*对函数进行声明*/void main() int i;/*found*/double sum;/*found*/for(i=l;i10;i+) sum=sum+fact(i): printf ( l!+2!+10!=%fn ,sum):/*found*/double fact(int n): int i;double
10、r=l;for(i=l;i0) a=even(x):if(a=1) sum=sum+x;scanf (“d” ,&x);printf (“其中偶数的和是:%dnM ,sum);2、编写一个程序,包含两个函数,一个函数funl(int x)用来判 定x是否为偶数,另一个函数fun2(int x)用来x是否为素数,函数 的判断结果可用1和0分别表示肯定和否定。自定义mein函数,在 main函数中输入两个正整数m和n,调用funl函数判定m是否为偶 数,调用fun2函数判定n是否为素数。(此题为思考题)实验四数组程序设计【实验日期】年 月 日【实验目的】1. 熟练掌握使用一维数组编程的方法。2.
11、熟练掌握使用字符数组处理字符串的方法。3. 掌握用数组名作为函数参数的编程方法。【实验容】 改错題1、输入一个以回车结束的字符串(少于80个字符),把字符串中 的所有数字字符(09)转换为整数,去掉其他字符。例如,字符串 4a56bc”转换为整数后是456。输入输出示例Abc85xyz648564源程序(有错误的程序)#include stdio. h#include astring, h”void main()/* found */ int i,s;char str 80;gets (str);for(i=0;istrlen(str);i+)/* found */ if(stri=, O |
12、 |striH 9,) s=s*10+stri-48; printf( %d , s) ;2、输入1个正整数n(0n9)和一组(n个)有序的整数,再输入 一个整数x,把插入到这组数据中,使该组数据仍然有序。运行结果(改正后程序的运行结果)请输入数据的个数n: 5请输入这5个整数:1 2 3 6 8请输入要插入的整数:4插入后:1 2 3 4 6 8【提示:先找到插入点,从插入点开始,所有的数据顺序后移, 然后插入数据。】源程序(有错误的程序)#include stdio. hvoid main()/*found*/ int i,j,n,x,an:printf(“请输入数据的个数n: ”);sc
13、anf (“d .&n);printf (“请输入这d个整数:,n);for(i=0;in;i+)scanf(“d t&ai);printf(“请输入要插入的整数:”);scanf (“d”,&x);j=n;/*假设插在最后*/for(i=0;in;i+)if (x=j;i)/*从插入点开始,所有的数据顺序后移/*ound*/ ai =ai+l;/*found*/ ai=x;/*插入数据*/printf(“插入后:”);for (i=0;in+l;i+)printf (99 ,ai);putchar( n); 编程题1、输入1个正整数n(15W10),再输入n个整数,将最小值与 第一个数交换,
14、最大值与最后一个数交换,然后输出交换后的n个数。输入输出示例请输入数据个数n值:5请输入这5个数:4 6 2 9 8处理后的结果是:2 6 4 8 9需要完善的程序如下: ttinclude stdio. h” int ex(int a, int n)void main() int i,a10tn,x,t;printf( w请输入数据个数n (lWnWlO): ” ); scanf (“d .&n);printf(“请输入这%d个数:”,n);for(i=0;in;i+)scanf(“d &ai);ex(a, n);for(i=0;in;i+)printf ( 4%d ” ,ai); prin
15、tf ( n);2、输入一组整数(数据个数在110之间),输出该组数据的和。 要求定义并调用函数sum(int a,int n)实现求数组a中n个元素 的和,并返回求得的结果。输入输出示例(运行2次)第一次运行:请输入数据个数n (lWnWlO): 5 请输入这5个数:3 5 2 9 6 这些数的和是:25第二次运行:请输入数据个数n (lnW10): 3请输入这3个数:6 7 8这些数的和是:21 需要完善的源程序如下: #include stdio. h” int sum(int a, int n)void main() int i,a10tntx,t;printf(“请输入数据个数n (
16、lWnWlO): ”); scanf (“d .&n);printf(“请输入这d个数:”,n);for(i=0;in;i+)sconf (“%d ,&ai);t=sum(a,n);printf ( u这些数的和是:%dn , t):指导教师:实验五指针程序设计【实验日期】年 月 日【实验目的】1. 掌握指针、地址的基本概念。2. 掌握通过指针操作数组元素的方法。【实验容】 改错题1、有n个整数,使前面各数顺序循环移动m个位置(mn)o编写 一个函数实现以上功能,在主函数中输入n个整数并输出调用后的n 个整数。运行结果(改正后程序的运行结果)请输入 n.m (mn): 5, 3请输入这5个整数
17、(用空格键或Tab键或回车键间隔):1 2 3 6 8移动后: 36812源程序(有错误的程序)#include stdio. h”void mov(int *,):void main() int itm,n,a80,*p;printf (请输入 n,m(mn):);scanf(;printf(请输入这%d个整数:,n);for(p=a,i=0;in;i+)/*found*/scanf (“d,&p+);mov(atn,m);printf(移动后:);for(i二0;in;i+)printf(H%5d ,ai):void mov (int *x, int n, int m)/*将
18、a数组中n个元素顺序移动m个位 置*/ int itj,k;for(i=0;i0; j)实现从最后一个元素开始依次后移 xj=xj-l;/*found*/ xO=xk; 编程题1、在数组a中查找指定元素。输入一个正整数n (lVnWlO),然 后输入n个整数存入数组a中,再输入一个整数x,在数组a中查找x, 如果找到则输出相应的下标,否则输出“没找到”。要求定义并调用函数search (a. n,x),它的功能是在数组a中查找 元素x,若找到则返回下标,否则返回-1。输入输出示例(运行2次)第一次运行:请输入n值(lVnWlO): 3请输入这3个数:1 2 5请输入x值:22的下标是1第二次运
19、行:请输入n值(lVnWlO): 5请输入这5个数:2 7 5 -1 4请输入x值:9没找到需要完善的源程序如下:#include stdio. hint search(int *a,int n,int x))void main() int i,a10, n,x, t;printf (请输入 n 值(lVnWlO):): scanf (“d ,&n);printf (“请输入这%d个数:,n);for(i=0;in;i+)scanf(“d” ai);printf (“请输入 x 值:”);scanf (“d .&x);t=search(atnfx);if(t!=-l) printf( a%d
20、的下标是%dn” ,x,t); else printf ( w没找到”);2、以下程序中,函数fun的功能是判断一串字符是否为“回文”, 若是返回1,否则返回0。所谓回文”,是指顺读和倒读都一样的字 符串。如果“ABCBA”和“xyzzyx”都是“回文”。输入输出示例(运行3次)第一次运行:Enter a string: abcddcbaYES第二次运行:Enter a string: 12321YES第三次运行:Enter a string: xyzyNO需要完善的源程序如下:#include stdio. h#include ustring, h”int fun(char *s)void
21、main() int a; char str80:printf( Enter a string:v ); scanf( %s ,str);a=fun(str);if (a=l) printf ( YES);else printf( NO”);指导教师:实验六结构体程序设计【实验日期】年 月 日【实验目的】1. 掌握结构体数组的基本使用方法。2. 掌握链表的基本概念。【实验容】 改错题1、输入n (3VnW10)个学生的成绩信息,包括学号、和3门课 程的成绩,输出总分最高的学生和总分。输入输出示例输入n: 5输入第1:个学生的学号、和3门课成绩:1丽78 67 84输入第2个学生的学号、 输入第3个学生的学号、 输入第4个学生的学号、 输入第5个学生的学号、和3门课成绩: 和3门课成绩: 和3门课成绩: 和3门课成绩:2345钱君89 65 90芳 75 78 82伟 77 69 68宋平80 76 85总分最高的学生是:钱君,244分 源程序(有错误的程序)Sinclude stdio.htypedef struct student/*定义结构体类型*/ long num;char name9:int score3:int sum;STU;void main() int i,j,k,ntmax=0;STU a10; printf (w输入 n:); sconf (“%d .&n)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司租车买车合同标准文本
- 专利咨询费合同样本
- 公司合股经营合同标准文本
- 上海epc合同标准文本
- 企业品牌策划设计合同样本
- 全套建筑工程合同标准文本
- 专利经纪合同样本
- 代理协议合同标准文本
- 乐器保修合同标准文本
- 会计试用合同样本
- 车辆租赁服务保障计划
- (二模)温州市2025届高三第二次适应性考试语文试卷(含答案)
- 2024-2025学年人教版数学八年级下册第一次月考模拟练习(含答案)
- 新教科版小学1-6年级科学需做实验目录
- 浅谈心理学在促进社会工作服务质量中的作用
- JJG 913-2015浮标式氧气吸入器
- GB/Z 20308-2006产品几何技术规范(GPS)总体规划
- 2023年沈阳职业技术学院高职单招(数学)试题库含答案解析
- GB/T 28731-2012固体生物质燃料工业分析方法
- 2022年4月自考03350社会研究方法试题及答案
- 伽利略介绍-课件
评论
0/150
提交评论