目录
一,实验目的:
1.掌握函数的定义和调用方法;
2.掌握什么时函数原型,在何种情况下必须使用函数原型;
二,实验内容:
1.例题一;
1. 写一个判断素数的函数,在主函数中输入一个整数,输出是否是素数的信息。
1)分析:这个题目的关键在于函数的调用和返回。函数调用结束后应当用return语句返回相应的值。
2)根据上述分析写出源程序,并上机调试。
2.例题二;
2.按照如下公式计算e的近似值,n的值由键盘输入。
e=s(n)=1+ 2!3!…+n!
1)分析:这个题目主要用到了函数的嵌套调用。观察公式我们可以将公式的右半部分分解成三个函数:主函数main()、一求阶乘函数fac()和求和函数sum()。首先系统调用主函数,再由主函数调用求和函数:利用一个循环根据n的值,求和函数再多次调用求阶乘函数,而求阶乘函数再根据n的值利用循环完成求阶乘运算。调用完成后求阶乘函数将值返回到求和函数,求和函数将值返回给主函数。 int fau Lint n)
2)根据上述分析写出源程序,并上机调试。
3.例题三;
3定义函数GetData()用于接收键盘输入的一组整型数据,并放入一个数组中;另
外再定义一个函数Sort()用于对输入的这一组数据进行降序排列。主函数先后调用
GetData和Sort函数,输出最后的排序结果。
三,代码展示:
例题1;
#include<stdio.h>
int sushu(int n);
main()
{
int m;
printf("输入一个整数\n");
scanf("%d", &m);
if(sushu(m)==1)
printf("是素数\n");
else
printf("不是素数\n");
}
int sushu(int n)
{
if(n == 1) return 0;
int i;
for(i=2;i<=n/2;i++)
{
if(n % i == 0) return 0;
}
return 1;
}
例题2;
#include<stdio.h>
int fac(int n);
float sum(int n);
int main()
{
int n;
float e;
printf("请输入一个整数:\n");
scanf("%d",&n);
e=sum(fac(n));
printf("%f",e);
}
int fac(int n)
{
if(n==0||n==1) return 1;
else return (n*fac(n-1));
}
float sum(int n)
{
float s=1.0;
int i;
for(i=1;i<=n;i++)
s+=1.0/fac(i);
return s;
}
例题3;
#include<stdio.h>
#define N 10
void GetData(int a[],int n);
void Sort(int a[],int n);
int main()
{
int i,a[N];
GetData(a,N);
Sort(a,N);
printf("降序排列后为:");
for(i=0;i<N;i++)
printf("%d ",a[i]);
}
void GetData(int a[],int n)
{
int i;
printf("请输入%d个数字并用空格键隔开:\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
}
void Sort(int a[],int n)
{
int i,j,k,t;
for(i=0;i<N-1;i++)
{
k=i;
for(j=i+1;j<N;j++)
if(a[j]>a[k])
k=j;
if(k!=i)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
}
版权声明:本文为zzy_1314521原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。