




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嘉应学院 计算机学院实 验 报 告课程名称程序设计基础实验名称实验地点指导老师实验时间提交时间班 级姓 名座 号一、实验目的和要求1、熟悉定义函数的方法。2、熟悉声明函数的方法。3、熟悉调用函数时实参与形参的对应关系,以及“值传递”的关系。4、学习对多文件的程序编译和运行。二、实验环境和方法实验方法:(一)综合运用课本所学的知识,用不同的算法实现在不同的程序功能。(二)结合指导老师的指导,解决程序中的问题,正确解决实际中存在的异常情况,逐步改善功能。(三)根据实验内容,编译程序。实验环境:windows xp visual c+6.0三、实验内容及过程描述实验内容:编译以下题目的程序并调试运行
2、。1、写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。本程序应当准备以下实验数据:17,34,2,1,0。分别运行并检查结果是否正确。要求所写的程序,主函数的位置在其它函数之前,在主函数中对其所调用的函数作声明。进行以下工作:输入自己编写的程序,编译和运行程序,分析结果。将主函数的函数声明删掉,再进行编译,分析编译结果。把主函数的位置改在其它函数之后,在主函数中不含函数声明。保留判别素数的函数,修改主函数,要求实现输出100200之间的素数。2、写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出。输入程序,编译和运行程序,分析结果。分析函数声明中参数的写法。先后用以
3、下两种形式:(a)函数声明中参数的写法与定义函数时的形式完全相同,如:void cpy(char s ,char c );(b)函数声明中参数写法与定义函数时基本相同,但省略写数组名。如:void cpy(char ,char );如果随便指定数组大小行不行,如:void cpy(char s40 ,char40);3、输入10个学生5门课的成绩,分别用函数实现下列功能:计算每个学生平均分;计算每门课的平均分;找出所有50个分数中最高的分数所对应的学生和课程。4、用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数。把两个函数放在同一个程序文件中,作为一个文件进行编译和
4、运行。把两个函数分别放在两个程序文件中,作为两个文件进行编译、链接和运行。实验步骤: 进入visual c+ 6.0集成环境。 输入自己编好的程序。 检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时改正。 进行编译和连接。如果在编译和连接过程中发现错误,频幕上会出现“报错信息”,根据提示找到出错位置和原因,加以改正。再进行编译,如此反复直到不出错为止。 运行程序并分析运行结果是否合理。在运行是要注意当输入不同的数据时所得结果是否正确,应运行多次,分别检查在不同情况下结果是否正确。以下是各题源代码:#includeint main()int prime(int);
5、int n;printf(请输入一个整数:);scanf(%d,&n);if(prime(n)printf(%d是一个素数。n,n);elseprintf(%d不是一个素数。n,n);return 0;int prime(int n)int flag=1,i;for (i=2;in/2&flag=1;i+)if(n%i=0)flag=0;return(flag);1、写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。#includeint main()int prime(int);int n;printf(“100200之间的素数为:”);for(n=100;n=200;n+)i
6、f(prime(n)printf(%d。n,n);return 0;int prime(int n)int flag=1,i;for (i=2;in/2&flag=1;i+)if(n%i=0)flag=0;return(flag);保留判别素数的函数,修改主函数,要求实现输出100200之间的素数。2、写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出。#includeint main()void cpy(char ,char );char str80,c80;printf(输入字符串:);gets(str);cpy(str,c);printf(元音字母为:%sn,c);retur
7、n 0;void cpy(char s,char c)int i,j;for(i=0,j=0;si!=0;i+)if(si=a|si=a|si=e|si=e|si=i|si=i|si=o|si=o|si=u|si=u)cj=si;j+;cj=0;3、输入10个学生5门课的成绩,分别用函数实现下列功能:计算每个学生平均分;计算每门课的平均分;找出所有50个分数中最高的分数所对应的学生和课程。#include #define n 10#define m 5float scorenm;float a_stun,a_courm;int r,c;int main() int i,j; float h;
8、float s_var(void); float highest(); void input_stu(void); void aver_stu(void); void aver_cour(void); input_stu(); aver_stu(); aver_cour(); printf(n no. cour1 cour2 cour3 cour4 cour5 avern); for(i=0;in;i+) printf(n no %2d ,i+1); for(j=0;jm;j+) printf(%8.2f,scoreij); printf(%8.2fn,a_stui); printf(n平均分
9、:); for (j=0;jm;j+) printf(%8.2f,a_courj); printf(n); h=highest(); printf(最高分:%7.2f no. %2d course %2dn,h,r,c); printf(方差: %8.2fn,s_var(); return 0;void input_stu(void) int i,j; for (i=0;in;i+) printf(n请输入学生%2d的成绩:n,i+1); for (j=0;jm;j+) scanf(%f,&scoreij); void aver_stu(void) int i,j; float s; for
10、(i=0;in;i+) for (j=0,s=0;jm;j+) s+=scoreij; a_stui=s/5.0; void aver_cour(void) int i,j; float s; for (j=0;jm;j+) s=0; for (i=0;in;i+) s+=scoreij; a_courj=s/(float)n; float highest() float high; int i,j; high=score00; for (i=0;in;i+) for (j=0;jhigh)high=scoreij; r=i+1; c=j+1; return(high); float s_va
11、r(void) int i; float sumx,sumxn; sumx=0.0; sumxn=0.0; for (i=0;in;i+) sumx+=a_stui*a_stui; sumxn+=a_stui; return(sumx/n-(sumxn/n)*(sumxn/n); printf(n no %2d ,i+1); for(j=0;jm;j+) printf(%8.2f,scoreij); printf(%8.2fn,a_stui); printf(n平均分:); for (j=0;jm;j+) printf(%8.2f,a_courj); printf(n); h=highest(
12、); printf(最高分:%7.2f no. %2d course %2dn,h,r,c); printf(方差: %8.2fn,s_var(); return 0;void input_stu(void) int i,j; for (i=0;in;i+) printf(n请输入学生%2d的成绩:n,i+1); for (j=0;jm;j+) scanf(%f,&scoreij); void aver_stu(void) int i,j; float s; for (i=0;in;i+) for (j=0,s=0;jm;j+) s+=scoreij; a_stui=s/5.0; void a
13、ver_cour(void) int i,j; float s; for (j=0;jm;j+) s=0; for (i=0;in;i+) s+=scoreij; a_courj=s/(float)n; float highest() float high; int i,j; high=score00; for (i=0;in;i+) for (j=0;jhigh)high=scoreij; r=i+1; c=j+1; return(high); float s_var(void) int i; float sumx,sumxn; sumx=0.0; sumxn=0.0; for (i=0;i
14、n;i+) sumx+=a_stui*a_stui; sumxn+=a_stui; return(sumx/n-(sumxn/n)*(sumxn/n); float highest() float high; int i,j; high=score00; for (i=0;in;i+) for (j=0;jhigh)high=scoreij; r=i+1; c=j+1; return(high); float s_var(void) int i; float sumx,sumxn; sumx=0.0; sumxn=0.0; for (i=0;in;i+) sumx+=a_stui*a_stui
15、; sumxn+=a_stui; return(sumx/n-(sumxn/n)*(sumxn/n); #include #include int main()int alphabetic(char); int longest(char ); int i; char line100; printf(请输入一行英文:n); gets(line); printf(最长的单词是 :); for (i=longest(line);alphabetic(linei);i+) printf(%c,linei); printf(n); return 0;int alphabetic(char c)if (c
16、=a & c=a&c=z) return(1); else return(0);int longest(char string)int len=0,i,length=0,flag=1,place=0,point; for (i=0;i=length)length=len; place=point; len=0; return(place);4、用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数。int alphabetic(char c)if (c=a & c=a&c=z) return(1); else return(0);int longest(char stri
17、ng)int len=0,i,length=0,flag=1,place=0,point; for (i=0;i=length)length=len; place=point; len=0; return(place);四、实验结果:1、输入以下测试数据:17,34,2,1,0.的结果为:将主函数函数声明删掉,再进行编译:编译时出现错误, 所以,在调用函数前,必须先定义函数,并进行声明。把主函数的位置改在其它函数之后,在主函数中不含函数声明。编译时出现错误主函数必须在其它函数之前由系统调用,其它函数由主函数调用。保留判别素数的函数,修改主函数,要求实现输出100200之间的素数。2、运行结果:分析函数声明中参数的写法。先后用以下两种形式:(a)函数声明中参数的写法与定义函数时的形式完全相同,如:void cpy(char s ,char c );(b)函数声明中参数写法与定义函数时基本相同,但省略写数组名。如:void cpy(char ,char );两种方法运行结果相同。在函数声明中的形参名可以省写,而致谢形参的类型。编译系统只关心和检查参数个数和参数类型,而不检查参数名,因为在调用函数时只要求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川离婚协议书:共同生活期间医疗费用分割协议
- 离婚协议范本:详尽分割房产、车辆及共同债务协议
- 行政合同在公共资源配置中的概念与特性分析
- 离婚协议中子女抚养权变更及监护权移交补充协议
- 办公场所安全合同5篇
- 抗衰老药物筛选技术-洞察及研究
- 防护外架合同8篇
- 建筑材料环保性能评价-洞察及研究
- 无反相机内置存储技术升级-洞察及研究
- 保定物理预赛竞赛试题及答案
- YY/T 1754.1-2020医疗器械临床前动物研究第1部分:通用要求
- 新闻编辑(修改版)马工程课件 第六章
- 勘察设计工作大纲
- GB/T 17188-1997农业灌溉设备滴灌管技术规范和试验方法
- 2022年资阳市雁江区社区工作者招聘考试笔试试题及答案解析
- 帮助卧床老年人使用便器排便课件
- 【高考英语精品专题】必修1 Unit 1 Life Choices-高考英语-一轮总复习备考方略课件PPT(新教材北师大版)
- 质量管理学课件第1章
- 中国传媒大学-新媒体概论(刘行芳)-课件
- SLZ 549-2012 用水审计技术导则(试行)
- 颈内动脉动脉瘤临床路径(2010年版)
评论
0/150
提交评论