一、实验目的和要求
1.掌握C语言中定义函数的方法。
2.掌握函数传值调用的方法。
3.掌握递归函数的设计方法。
4.掌握几个函数放在一个文件中以及分别放在几个文件中的编译、连接方法.
二、实验内容
1.上机调试下面的程序。
#include<stdio。h>
int sum(int a,int b)/*定义一个求和函数*/
{
return(a+b);/*返回a+b的值*/
}
void main()
{
int x,y;
printf(”%d\n”,sum(x,y));/*调用sum函数并显示结果*/
}
程序运行过程:37814751。
2.编写程序,在主函数中输出1!+2!+3!+…..+10!的值。要求将计算阶乘的运算写成函数。
#include <stdio。h〉
void main()
{
int i,sum=0;
long fac(int i);
for(i=1;i<=10;i++)
sum+=fac(i);
printf("sum=%ld\n”,sum);
}
long fac(int i)
{
int r;
if(i==1) r=1;
else r=i*fac(i-1);
return r;
}
程序运行过程:sun=4037913。
3.编写函数,将输入的十进制正整数n转换为二进制数,并将转换结果输出。
#include <>
void main()
{
int n;
void Dec2Bin(int m); /*自定义函数的函数声明*/
printf("Input decimal number:\n”);
scanf("%d”,&n);
Dec2Bin(n);
}
void Dec2Bin(int m)
{
int bin[32],j;
for(j=0;m!=0;j++)
{
bin[j]= m%2; /*除2取余,余数放入到数组中*/
m=m/2;
}
printf("Output binary number:\n");
for(;j!=0;j-—) /*数组内的值反序输出*/
printf("%d”, bin[j—1] );
}
程序运行过程:
Input decimal number:
8
Output binary number:
1000.
4.求方程的根,用3个函数分别求当大于0、等于0和小于0时的根,并输出结果。从主函数输入a、b、c的值。
#include <stdio。h>
#include 〈>
double x1,x2;
void root1(double a,double b,double d)
{
x1=(-b+sqrt(d))/2/a;
x2=(-b-sqrt(d))/2/a;
printf(”x1=%。2lf,x2=%。2lf\n",x1,x2);
}
实验报告样本(验证性实验) 来自淘豆网m.daumloan.com转载请标明出处.