《C语言程序设计》实验报告
实验名称:函数定义和使用
系 别: 计算机系 专业:计算机科学与技术 班级:五班
姓 名: 学号:
实验日期:
教师审批签字:
实验5 C函数定义和使用
⒈ 实验⑴ 学习C语言中函数的定义和调用方法。
⑵ 掌握通过参数在函数间传递数据的方法。
⑶ 熟悉TC集成环境对包含函数调用的程序的调试方法。
实验内容题目⑴:调试下列程序,使之具有如下功能:fun函数是一个判断整数是否为素数的函数,使用该函数求1000以内的素数平均值。写出调试过程。“stdio.h”
void main()
{ int a=0,k; /* a保存素数之和 */float av; /* av保存1000以内素数的平均值 */for (k=2;k<=1000;k++)if (fun(k)) /* 判断k是否为素数 */a+=k;av=a/1000;printf("av=%f\n",av);}
fun(int n) /* 判断输入的整数是否为素数 */{ int i,y=0;for(i=2;i
题目⑵:“stdio.h”
void main()
{ int a=1,b=2,c;
c=max(a,b);
printf("max is %d\n",c);
}
max(int x,int y) //请回答:函数功能是什么?
{ int x;
z=(x>y)?x:y;
return(z);
}
题目⑵:“stdio.h”
void main()
{ int a=4,b=5,c;
c=plus(a,b);
printf("A+B=%d\n",c);
}
int plus(int x,int y) 请回答:函数功能是什么?
{ int z;
z=x+y;
return(x);
}
B、编程题目:
要求:每道题目分别书写程序,试运行(如何输入,结果如何)。
题目:x的n次方的值(提示:有一个参数的函数)
题目⑵:编写一个求水仙花数的函数,求3位正整数的全部水仙花数中的次大值。所谓水仙花数是指三位整数的各位上的数字的立方和等于该整数本身。例如:153就是一个水仙花数:153 = 13 + 53 + 33 算法说明用文字或流程图说明。
⒋ 程序清单#include "stdio.h"
fun(int n);
void main()
{ int a=0,k,b=0; /* a保存素数之和 */
float av; /* av保存1000以内素数的平均值 */
for (k=2;k<=1000;k++)
if (fun(k)) /* 判断k是否为素数 */
{
a+=k;
b++;
}
av=(float)a/b;
printf("av=%f\n",av);
}
fun(int n) /* 判断输入的整数是否为素数 */
{ int i,y;
for(i=2;i
if (n%i==0)
{ y=0 ;break;}
else y=1;
return y;
}
A程序2:
#include "stdio.h"
max(int x,int y);
void main()
{ int a=1,b=2,c;
c=max(a,b);
printf("max is %d\n",c);
}
max(int x,int y)
{
int z;
z=(x>y)? x:y;
return(z);
}
A程序3:
#include "stdio.h"
void main()
{ int a=4,b=5,c;
c=plus(a,b);
printf("a+b=%d\n",c);
}
int plus(int x,int y)
{ int z;
z=x+y;
return(z);
}
B程序1:: #include "stdio.h"
float power(float x,int n)
{
float result=1;
int i;
for(i=1;i<=n;i++)
{
result=result*x;
}
return result;
}
float power(float x,int n);
main()
{
float a,x;
int n;
printf("please input two numbers x,n :");
scanf("%f,%d",&