实验六用函数实现模块化程序设计.doc

上传人:自*** 文档编号:124939200 上传时间:2020-03-14 格式:DOC 页数:6 大小:107KB
返回 下载 相关 举报
实验六用函数实现模块化程序设计.doc_第1页
第1页 / 共6页
实验六用函数实现模块化程序设计.doc_第2页
第2页 / 共6页
实验六用函数实现模块化程序设计.doc_第3页
第3页 / 共6页
实验六用函数实现模块化程序设计.doc_第4页
第4页 / 共6页
实验六用函数实现模块化程序设计.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《实验六用函数实现模块化程序设计.doc》由会员分享,可在线阅读,更多相关《实验六用函数实现模块化程序设计.doc(6页珍藏版)》请在金锄头文库上搜索。

1、实验六 用函数实现模块化程序设计【实验目的】1. 函数编译程序的初步应用;2. 多个小函数的同时应用;3. 函数的递归调用;4. 数组作函数的参数。【实验内容】实验一:最大公约数和最小公倍数的求解,源程序如下:#includeint f1(int x,int y)if(x%y!=0) return f1(y,x%y);else return y;int f2(int x,int y)int r,i;if(xy) r=x;x=y;y=r;for(i=1;i=y;i+)if(i*x%y=0) return (i*x);break;int main()int m,n;printf(请输入两个整数:)

2、;scanf(%d%d,&m,&n);printf(%d与%d的最大公约数是:%dn,m,n,f1(m,n);printf(%d与%d的最小公倍数是:%dn,m,n,f2(m,n);return 0;结论:结果正确。实验二:方程根的求解,源程序如下:#include#includedouble f1(float m,float n,float q)double r,x1,x2;r=n*n-4*m*q;if(m=0) x1=-q/n,printf(方程有唯一实根:%lfn,x1);else x1=(-n+sqrt(r)/(2*m),x2=(-n-sqrt(r)/(2*m),printf(方程有两

3、个不等的实根:%lft%lfn,x1,x2);return 0;double f2(float m,float n,float q)double x1;if(n!=0) x1=-n/(2*m),printf(方程有两个相等实根:%lfn,x1);elseif(q=0) printf(方程的根为任意数n);else printf(方程无解n);return 0;double f3(float m,float n,float q)double r,p,d;r=n*n-4*m*q;p=sqrt(-r)/(2*m),d=-n/(2*m);printf(方程有两个复根:);printf(%lf+%lfi

4、t,d,p);printf(%lf-%lfin,d,p);return 0;int main()float r,a,b,c;printf(请输入方程的系数:);scanf(%f%f%f,&a,&b,&c);r=b*b-4*a*c;if(r0) f1(a,b,c);if(r=0) f2(a,b,c);if(r0) f3(a,b,c);return 0;结论:结果正确。实验三:回文的判断和输出及统计其个数,源程序如下:#include#include#define N 100char f(char c)int i,j,n;for(i=0,n=0;ci!=0;i+)n+;for(i=0,j=n-1;

5、ij;i+,j-)if(ci!=cj) return 0;return 1;int main()int i,j;char a5N;printf(请输入五个字符串:n);for(i=0;i5;i+)gets(ai);printf(其中回文是:n);for(i=0,j=0;i5;i+)if(f(ai)=1) printf(%sn,ai);j+;printf(回文有%d个n,j);return 0;结论:结果正确。实验四:数组的降序输出,源程序如下:#include#define N 10void sort(int a,int n)int i,j,t;for(i=1;in;i+)for(j=0;jn

6、-i;j+)if(ajaj+1) t=aj,aj=aj+1,aj+1=t;void main()int i,aN;printf(情输入整数:);for(i=0;i8;i+)scanf(%d,&ai);printf(n);sort(a,8);printf(数组降序为:);for(i=0;i8;i+)printf(%d ,ai);printf(n);结论:结果正确。实验五:完数的输出及其累加和,源程序如下:#includeint f(int n)int i,k=0;for(i=1;in;i+)if(n%i=0) k+=i;if(n=k) return 1;else return 0;int main()int sum=0,n;printf(完数有:);for(n=2;n=1000;n+)if(f(n)=1)printf(%d ,n);sum+=n;printf(n所有完数的和为:sum=%dn,sum);return 0;结论:结果正确。【实验小结】1. 函数值回时,要看其中表示几条语句;2. 注意“void”函数的结束;3. 数组作函数的参数时,数组在函数中的表示。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 工业设计

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号