C语言函数的应用实验报告
课程名称:结构化程序设计与C语言 开课实验室:年 月 日
年级、专业、班学号姓名成绩实验项目名称实验三 函数的应用指导教师=教师评语
教师签名:
年 月 日一、实验目的
用C语言编写和调试函数的程序。从而对函数的定义、调用、全局变量的灵活运用有比较深入的了解。
二、内容及结果
1、程序一 素数函数
1)程序要求:写一个判断是否是素数的函数,在主函数输入一个整数,调用它后输出结果。
2)代码:
#include
#include
int prime(int n)
{ int i,k;
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0) break;
if(i<=k)
return 0;
else
return 1;
}
int main()
{ int prime(int n);
int n;
printf("Please enter n:");
scanf("%d\n",&n);
if(prime(n)==1)
printf("%d is a prime number",int(n));
else
printf("%d is not a prime number",int(n));
}
3)运行截图:
2、程序二 用递归方法求n阶勒让德多项式的值
1)程序要求:
递归公式为:
当n=0,1
当n=1, x;
当n>=1, ((2n-1)x-Pn-1(x)-(n-1)Pn-2)x))/n
2)代码:
#include
#include
int p(int n,int x);
void main()
{
int n,x;
scanf("%d",&x);
for(n=0;n<=10;n++)
printf("p(%d,%d)=%d\n",n,x,p(n,x));
}
int p(int n,int x)
{
if(n==0)
return 1;
else
if(n==1)
return x;
else
return((2*n-1)*x-p(n-1,x)-(n-1)*p(n-2,x))/n;
}
3)运行截图:
3、程序三 成绩统计程序
1)程序要求:输入10个学生5门课的成绩,分别用函数实现以下功能:
计算每个学生的平均分;计算每门课的平均分;找出所有50个分数中最高的分数所对应的学生和课程;计算平均方差。
2)代码:
#include
float x1[10],x2[5];
float pp(float f[10][5]);
float cc(float y[10][5]);
void find(float z[10][5],float s[5],int t[5]);
float xx(float q);
int main()
{
char name[5][20],class1[5][20];
float score[10][5],o,k=0,max[5];
int a[2],i,j;
printf("请你输入名字:\n");
for(i=0;i<10;i++)
gets(name[i]);
printf("请你输入班级:\n");
for(j=0;j<5;j++)
gets(class1[j]);
printf("请你输入十个学生五门课的成绩:\n");
for(i=0;i<10;i++)
for(j=0;j<5;j++)
scanf("%f",&score[i][j]);
x1[i]=pp(score);
x2[j]=cc(score);
find(score,max,a);
o=xx(k);
for(i=0;i<10;i++)
{
puts(name[i]);
printf("%.3f\n",x1[i]);
}
for(j=0;j<5;j++)
{
puts(class1[j]);
printf("%.3f\n",x2[j]);
}
fo