c语言函数实习报告
程序设计(C语言)实验报告
实验目的
(1)掌握函数的定义方法,调用方法,参数说明以及返回值;
(2)掌握实参与形参的对应关系,一集参数之间的“值传递”的方式;
(3)掌握函数嵌套调用及递归调用的设计方法;
(4)在编写过程中加深理解函数调用的程序设计思想。
实验内容
(1)编辑,编译,运行实验指导中的程序,并分析输出结果
(2)编写一个函数primeNum(int x),功能是判别一个数是否是素数。
(3)编写函数mulNum(int a,int b),功能是判定a是否是b的整数倍
实验1方法一:
源程序:
#include
#include
int computeNum(int x)
{
int sum ,a,b,c,d,e;
sum=0;
x=abs(x);
a=x/10000;
b=(x%10000)/1000;
c=(x%1000)/100;
d=(x%100)/10;
e=(x%10)/1;
sum=a+b+c+d+e;
return sum;
}
main()
{
int a,b;
printf("Please input an integer:");
scanf("%d",&a);
b=computeNum(a);
printf("the sum of all digits is %d
",b);
}
输入一个整数123 运行结果如图
输入整数98341验证 运行结果如图
方法二:
#include
#include
int computeNum(int x)
{
int sum,i,t;
sum=0;
x=abs(x);
for(i=4;i>=0;i--)
{
t=pow(10,i);
if(x>=t)
{
sum=sum+x/t;
x=x-(x/t)*t;
}
}
return sum;
}
main()
{
int a,b;
printf("Please input an integer:");
scanf("%d",&a);
b=computeNum(a);
printf("The sum of all digits is %d
:",b); }
输入整数456运行结果如图
输入整数98341验证运行结果如图
实验2:
源程序:
#include
void move(char geton ,char puton)
{
printf("%c->%c
",geton,puton);
}
void Hanoi(int n,char one,char two,char three) {
if (n==1)
move(one,three);
else
{
Hanoi(n-1,one,three,two);
move(one,three);
Hanoi(n-1,two,one,three);
}
}
void main()
{
int m ;
printf("Input the number of diskes:"); scanf("%d",&m);
printf("The steps of moving %d diskes:
",m); Hanoi(m,'A','B','C');
}
输入3运行结果如下:
输入4运行结果如下:
实验2:
源程序:
#include
int i,a,x;
int primeNum(int x)
{
for(i=2;i { a=x%i; if(a==0) return 0; } return 1; } main() { printf("Please input x! "); scanf("%d",&x); if(x<2) printf("wrong in put! "); else { a=primeNum(x); if(a==0) printf("%d is not a prime number! ",x); else printf("%d is a prime number! ",x); } } 输入数据0运行结果如下: 输入数据1运行结果如下: