厦门理工学院C语言实验6
《C语言程序设计》实验报告
实验序号:6 实验项目:函数
学 号姓 名Debug专业、班级实验地点指导教师实验时间一、实验目的及要求
1、掌握函数声明、定义和使用的方法;
2、掌握函数嵌套和递归调用的方法;
3、掌握全局变量、局部变量、静态局部变量的概念和使用方法;
4、掌握定义头文件的方法,学会建立和调试多文件程序;
5、实验内容采用函数方法完成。
二、实验设备(环境)及要求
使用Visual C++ 6.0;windows系列操作系统的环境。
三、实验内容与步骤
1.编写一个函数prt(c,n),重复打印给定的字符c,n次。在主函数中调用prt(c,n)函数,打印一个直角三角形。
如:prt(*,6)的结果如下:
*
**
***
****
*****
******
【实验提示】函数prt(c,n)完成输出功能,是一个void函数,有两个参数。
函数源代码部分:
运行结果截图:
2.写四个函数分别用于计算圆周长、圆面积、圆柱表面积,圆柱体积,在main函数中完成测试。
运行结果截图:
3.根据以下公式求π的近似值,直到最后一项的绝对值小于10-5为止
运行结果截图:
4.用递归方法计算的值,n的值由键盘输入
运行结果截图:
5.以下程序的功能是计算s=,补足所缺语句。
#include “stdio.h”
long fun(int n)
{ int I;
long m;
m= 1 ;
for(I=1; I<=n; I++) m= m* I ;
return m;
}
main()
{ long m;
int k,n;
scanf(“%d”,&n);
m= 1 ;
for(k=0;k<=n;k++) m=m+ fun () ;
printf(“%ld\n”,m);
}
运行结果截图:
6.【附加题】写一个函数,使输入的一个字符串按反序,在主函数中输入字符串和,在非主函数中输出反序后的字符串。
运行结果截图:
7.【附加题】编写程序,证明100-200之间的所有偶数均可写成两个素数之和,并输出。
运行结果截图:
四、分析与讨论
对上机结果进行分析,上机的心得体会。 #include
#include
int main()
{
int prt(char c ,int n);
char c,n;
scanf("%c%d",&c,&n);
prt(c,n);
return 0;
}
int prt(char c,int n)
{
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
printf("%c",c);
printf("\n");
}
return 0;
}
2. #include
#define PI 3.14
double circle(double r)
{
return(2*PI*r);
}
double area(double r)
{
return(PI*r*r);
}
double surface(double r,double h)
{
return(PI*r*r*2+2*PI*r*h);
}
double column(double r,double h)
{
return(PI*r*r*h);
}
void main()
{
double r,h;
scanf("%lf%lf",&r,&h);
printf("The circle is %lf\n",circle(r));
printf("The area is %lf\n",area(r));
printf("The surface is %lf\n",surface(r,h));
printf("The column is %lf\n",column(r,h));
}
3.
#include
#include
int main(void)
{
double x,pi;
double funpi(double x);
printf("enter x:");
scanf("%lf",&x);
pi=sqrt(funpi(x));
printf("pi=%.4f\n",pi);
return 0;
}
double funpi(double x)
{
double denominator;
double item,sum=0;
denominator=1.0;
item=1.0;
whi