ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:218.49KB ,
资源ID:6790072      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6790072.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数组综合实验.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数组综合实验.docx

1、数组综合实验C语言程序设计实 验 报 告 ( 2 )学号: 姓名: 班级: 成绩:实验名称:数组综合实验实验地点:宿舍所使用的工具软件及环境:Windows XP系统;VC+6.0 一、实验目的:学会Visual C+ 6.0编辑、编译、连接和执行C程序。掌握C语言语法基础;熟练掌握if语句和switch语句while语句,do-while语句和for语句实现循环的方法。掌握定义和使用数组;加深对筛选法,选择法,冒泡法和二分法的使用。二、实验内容:课堂练习:改错题:3.2 下列给定程序中,函数fun和quest的功能是:用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0

2、.001。例如,若给m输入-50,给n输入30,则函数求得的一个根值为2.000。请修改程序中的错误,得出正确的结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。# include # include double quest(double x) return (2*x*x*x-4*x*x+3*x-6);double fun(double m,double n) /*error*/ double r; r=(m+n)/2; /*error*/ while(fabs(n-m)0.001) if(quest(r)*quest(n)0) m=r; else n=r; r=(m+

3、n)/2; return r;main() double m,n,result; printf(Please input m n : n); scanf(%lf%lf,&m,&n); result=fun(m,n); printf(result=%6.3fn,result); getch();22.2 下列给定程序中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进序请修改程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构# include # define M 100void fun(int sort,int n) int i

4、,j,temp,p; for(j=0;jn-1;j+) /*error*/ p=j; for(i=j;in;i+) if(sortisortj) /*error*/ p=i; temp=sortp; sortp=sortj; sortj=temp; main() int sortM=23,3,67,-2,9,-6,27,12,i,num=8; printf(before sort:); for(i=0;inum;i+) printf(%d,sorti); printf(n); fun(sort,num); printf(after sort:); for(i=0;inum;i+) printf

5、(%d,sorti); printf(n); getch();填空题:20.1 请补充fun函数,该函数的功能是求一维数组aN的平均值,并对所得结果进行四舍五入保留两位小数。例如,当a10= 23.1,12.3,5.3,56.4,10.0,13.7,24.5,42,1.2,9.9时,输出结果为:average=19.840000。请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。# include # include double fun(double a10) int i; long temp; double avera

6、ge=0.0; double sum=0.0; for(i=0;i10;i+) sum+=ai; average=sum/10; average=average*1000; temp=(average+5)/10; average=(double) temp /100; return average;main() double average,a10=23.1,12.3,5.3,56.4,10.0,13.7,24.5,42,1.2,9.9; int i; printf(nThe data :n); for(i=0;i10;i+) printf(%6.1f,ai); printf(nn); av

7、erage=fun(a); printf(The average=%fnn,average); getch();43.1 请补充fun函数,该函数的功能是:把字符串s中的字符按字符的ASCII码升序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。例如,如果输入edcba,则输出为abcde。请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。# include # define N 100void fun(char p,int n) int i,j; char t; for(i=0;in;i+) for

8、(j=i;jpj) t=pj; pj=pi; pi=t; main() int i=0,strlen=0; char sN; printf(Please input a string:n); gets(s); while(si!=0) strlen+; i+; fun(s,strlen); printf(Display string n); puts(s); getch();编程题:1.3 数组point中存放着m个人的成绩,请编写函数fun,它的功能是:返回高于平均分的人数,并将高于平均分的分数放在high所指的数组中。例如,当point数组中的数据为50、60、65、70、75、80、88

9、、90、95时,函数返回的人数应该是5,high中的数据应为75、80、88、90、95。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。# include # include # include int fun(int point,int n,int high) int i,j,average; int s=0; for(i=0;in;i+) s+=pointi; average=s/n; for(j=0,i=0;javerage) highi=pointj; i+; return i;main() int j,m,hig

10、h9; int point9=50,60,65,70,75,80,88,90,95; FILE *out; m=fun(point,9,high); printf(nHigh the average point are :); out=fopen(outfile.dat,w); for(j=0;jm;j+) printf(%d ,highj); fprintf(out,%dn0,highj); fclose(out); 4.3请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。例如,若二维数组中的值为:357999949998则函数值为72。请

11、勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。# include # include # define M 3# define N 4int fun(int bMN) int i,j,s=0; for(i=0;iM;i+) for(j=0;jN;j+) if(i=0|i=M-1) s+=bij; else if(j=0|j=N-1) s+=bij; return s; main() int aMN=3,5,7,9,9,9,9,4,9,9,9,8; int i,j,sum; FILE *out; printf(The orig

12、inal data is : n); for(i=0;iM;i+) for(j=0;jN;j+) printf(%6d,aij); printf(n); sum=fun(a); printf(nThe sum: %dn,sum); printf(n); out=fopen(outfile.dat,w); fprintf(out,%d,sum); fclose(out);31.3 编写程序,实现矩阵(3行列)的转置(即行列互换)。例如,若输入下面的矩阵:123456789则程序输出:147258369请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意

13、:部分源程序给出如下。# include # include void fun(int a33) int i,j,k; for( i=0;i=2;i+) for( j=0;j=i;j+) k=aij; aij=aji; aji=k; printf(n);main() int i,j; int a33=1,2,3, 4,5,6, 7,8,9; FILE *out; for(i=0;i3;i+) for(j=0;j3;j+) printf(%7d,aij); printf(n); fun(a); printf(Converted a:n); out=fopen(outfile.dat,w); fo

14、r(i=0;i3;i+) for(j=0;j3;j+) printf(%7d,aij); fprintf(out,%7d,aij); printf(n); fprintf(out,n); fclose(out); getch();73.1 请编写函数fun,其功能是:计算并输出给定10个数的方差:例如,给定的10个数为76.0,65.0、72.0、85.0、57.0、67.0、45.0、92.0、44.0、58.0,则输出为F=14.982990。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。# include # inc

15、lude double fun(double y10)int i; double s=0,a=0,t=0; for(i=0;i10;i+) s+=yi; a=s/10; for(i=0;i10;i+) t+=(yi-a)*(yi-a); t=t/10; t=sqrt(t); return t; main() double f,y10=76.0,65.0,72.0,85.0,57.0,67.0,45.0,92.0,44.0,58.0; int i; FILE *out; printf(nThe original data is :n); for(i=0;i10;i+) printf(%6.1f,

16、yi); printf(nn); f=fun(y); printf(f=%fnn,f); out=fopen (outfile.dat,w); fprintf(out,%f,f); fclose (out);三、程序运行结果示例: 改错题: 3.222.2填空题:20.1 43.1编程题:1.34.331.373.1四、作业3.3请编写函数void fun(int y,int b,int*m),它的功能是:求出能整除y且是奇数的各整数,并按从小到大的顺序放在b所指的数组中,这些除数的个数通过形参m返回。例如,若y中的值为90,则有4个数符合要求,它们是1、3、5、9、15、45。请勿改动主函数

17、main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。# include # include void fun(int y,int b,int *m) int i=0,j=1,k=0,*t=b; for(j=0;j=y;j+) if(j%2!=0) ti= j; i+; for (j=0;ji;j+) if(y%tj=0) bk=tj ; k+; *m=k;main() int y,a500,m,j; FILE *out; printf(nPlease input an integer number:n); scanf(%d,&y); fun(

18、y,a,&m); for(j=0;jm;j+) printf(%d ,aj); printf(n); fun(730,a,&m); out=fopen(outfile.dat,w); for(j=0;jm;j+) fprintf(out,%dn,aj); fclose(out);getch();4.2下列给定程序中,函数fun的功能是:判断字符ch是否与s所指串中的某个字符相同,若相同,则什么也不做;若不同,则将其插在串的最后。请修改程序中的错误,使它能得出正确的操作。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。# include # include # include

19、/*error*/void fun(char *s,char c) while(*s & *s!=c) s+; /*error*/ if(*s=c) s0=c; /*error*/ s1=0; main() char str81,ch; printf(n Please enter a string:n); gets(str); printf(n Please enter the character to search:); ch=getchar(); fun(str,ch); printf(nThe result is %sn,str);5.3 编写函数int fun(int mm,int b

20、MAX),该函数的功能是求出小于或等于mm的所有素数,并放在b数组中,该函数返回所求出的素数的个数。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下# include # include # define MAX 100int fun(int mm,int bMAX) int i,m,n=0; for(m=2;m=sqrt(m);m+) for(i=2;i =m) bn=m; n+=1; return n; main() int m,i,sum; int bMAX ; FILE *out; printf(input a dat

21、a:n); scanf( %d,&m); sum=fun(m,b); for(i=0 ;isum;i+) if(i%10=0 & i!=0) printf(n); printf(%5d,bi); sum=fun(28,b); out=fopen(outfile.dat,w); for(i=0 ;isum;i+) fprintf(out,%dn,bi); fclose(out);18.1请补充fun函数,该函数的功能是求不超过给定自然数的各奇数之和。例如,输入34,则输出结果为289。请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。注意:部分源程序

22、给出如下。# include int fun(int n) int i,sum; sum=0; for(i=1;isum;i+=2) sum+=i; return sum;main() int a; do printf(nPlease enter natural numbers a:); scanf(%d,&a); while(a=0); printf(n不超过给定自然数%d的各奇数之和为%dn,a,fun(a); getch();20.3编写函数fun,函数的功能是:根据以下公式计算,计算结果作为函数值返回。s=1+1/(1+2)+1/(1+2+3)+.+1/(1+2+3+.+n) p通过形

23、参传入,例如,若p的值为21时,函数的值为1.909091。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。# include# include# includefloat fun(int n) int i;float s,m;s=0;m=0; for(i=1;i=n;i+) m+=i; s=s+1.0/m ; return s;main() int n; float str; FILE *out; printf(nPlease input the integer n:); scanf(%d,&n); str=fun(n);

24、 printf(The result is: %fn,str); str=fun(10); out=fopen(outfile.dat,w); fprintf(out,%f,str); fclose(out); getch();22.3请编写一个函数fun,它的功能是:计算并输出给定整数m的所有因子(不包括1与自身)之和。规定m的值不大于1000。例如,若主函数从键盘给m输入的值为111,则输出为sum=40。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。# include int fun(int m) int i ; i

25、nt sum = 0 ; for( i = 2 ; i m ; i+ ) if( ! ( m % i ) ) sum += i ; return sum ;main() int n,num; FILE *out ; printf(Input m: ); scanf(%d,&n); num=fun(n); printf(num=%dn,num); out=fopen (outfile.dat,w); fprintf(out,%dn,fun(123); fprintf(out,%dn,fun(456); fprintf(out,%dn,fun(789); fclose (out); getch();23.1 s是一个由数字和字母字符组成的字符串,由变量len传入字符串长度。请补充fun函数,该函数的功能是把字符串s中的数字字符转换成数字并存放到整型数组a中,函数返回数组a的长度。例如,s=Abc123e456hui7890,结果为:1234567890。请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下# include # define M 80int aM;int fun(char s,int a,int len) int j,m=0; for(j=0;j=0 & sj=9) am=sj-0; m+;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1