1 / 11
文档名称:

C语言程序设计-实验第五次上机实验报告.doc

格式:doc   大小:189KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言程序设计-实验第五次上机实验报告.doc

上传人:jiquhe72 2018/8/21 文件大小:189 KB

下载得到文件列表

C语言程序设计-实验第五次上机实验报告.doc

文档介绍

文档介绍:C语言程序设计实验报告
专业计算机科学与技术班级信安1302班日期 成绩
实验组别第 5 次实验数组实验指导教师周时阳
学生姓名熊雅媛学号 U201315156 同组人姓名

实验名称数组实验

、初始化和使用。

,包括串操作函数及数字串与数之间转换函数的实现算法。
,以及相关算法的实现。

(一)设计一个实现多个功能(如,N个数求最大数和一元二次方程求根等等)的演示系统。
源程序如下:shangji5\chengxu25
#include <>
#include<>
#include""
#include""
#include""
#include""
int main()
{
int a,b,c;
int b1[100],n,i;
printf("input :");
scanf("%d%d%d",&a,&b,&c);
root(a,b,c);
printf("input n:");
scanf("%d",&n);
printf("input numbers:");
for(i=0;i<n;i++)
scanf("%d",&b1[i]);
max(b1,i);
return 0;
}void max(int a[],int n)/*计算n个数的最大值*/
{
int max, i;
max=a[0];
for(i=1;i<n;i++)
{
if(a[i]>max) max=a[i];
}
printf("max=%d\n",max);
}
void root(int a,int b,int c)/*求出一元二次方程的根,其中a,b,c为参数*/
{
int d;
d=b*b-4*a*c;
if(d<0)
{
printf("input error!");
}
else if(d==0)
{
printf("x1=x2=%.2lf\n",-(*b)/(*a));
}
else
{
printf("x1=%.2lf\n",((-*b)+sqrt(d))/(*a));
printf("x2=%.2lf\n",((-*b)-sqrt(d))/(*a));
}
}
int sxh(int x)/*判断一个数是否为水仙花数,是则输出1,不是则输出0*/
{
int s,r,x1;
x1=x;
s=0;
do
{
r=x%10;
s+=r*r*r;
}while((x/=10)!=0);
if(s==x1) return (1);
else return (0);
}
int wqs(int x)/*判断一个数是否为完全数,是则输出1 不是则输出0*/
{
int i,s;
s=0;
for(i=1;i<=x/2;i++)
{
if(!(x%i)) s+=i;
}
if(s==x) return (1);
else return (0);
}
实验步骤:
步骤一:分别定义几个子函数,分别可以用来计算n个数中的最大值,计算一元二次方程的根,判断一个数是否为水仙花数和完全数(也可以选用具有其他功能的子函数),放在不同的头文件中。
步骤二:在主函数中,用include处理自己定义的头文件,以方便主函数的调用。
调试及编译过程:
测试数据:输入a=1,b=-2,c=2求该方程的根,输入五个数求最大值
出现的不足及修改:无实验结果:在主函数中用到了前两个子函数,输出正确的结果,用户可根据自己的需要调用其他的子函数。
(二)设计一个递归程序计算组合数C(n,m)=A(n,m)/m!
源程序如下:shangji5\chengxu26
#include <>
int c(int m,int n);
int main()
{
int x1,x2;
printf("x1=?x2=?");
scanf("%d%d",&x1,&x2);
printf("%d",c(x1,x2));
return 0;
}
int c(int m,int n)
{
if(!n) return 1;
e