(1) 掌握C语言函数定义及调用的规则。
(2)理解参数传递的过程。
(3)掌握C语言函数的声明及函数的调用。
例如:1.求[100,10000]内回文数的个数,所谓回文数是关于中心数对称的,如12321。其中判断一个整数是否为回文数要用函数实现。
思考:可以在评论区写下你的思考过程。下面是我的思考过程:
(1)首先先写出主函数int main(),写出要声明调用的函数以及执行的结果。
(2)其次写出被调用的函数,进行参数传递参数,以及执行的功能。
#include <stdio.h>
int huiwenshu(int n)
{
int a,b=0,c=0;
a=n;
while(n>0)
{
b=n%10;
c=c*10+b;
n=n/10;
}
if(a==c)
printf("%d ",a);
}
int main()
{
int i;
for(i=100;i<=10000;i++)
{
huiwenshu(i);
}
return 0;
}
2.求[10,10000]内的完备数的和,所谓完备数是指因子各等于本身的数,如6=1+2+3.其中求因子和要求用函数实现。其中部分代码已经给出,请根据已有代码完成本题。
#include <stdio.h>
#include <math.h>
int f(int n) //求n的因子和(因子包含数n本身)
{
int k,i;
k=sqrt(n) ;
int s=0;
for(i=1;i<=k;i++)
if(n%i==0)
if(i==1)
s=s+1;
else
s+=i+n/i;
return s;
}
int main()
{ int i,s=0;
for(i=10;i<10000;i++)
if(i==f(i))
{s++; printf("%d ",i);}
printf("\n%d\n",s);
return 0;
}
最后,我也有几个问题问问大家:
分析与讨论
(1) 函数的定义和函数的声明有何区别?
(2) 什么是模块化程序设计?为什么要采用模块化程序设计方法?