调用函数计算一个正整数到1的和,并把和显示再主函数上

来源:互联网 发布:怎么做淘宝自然排名 编辑:程序博客网 时间:2024/06/08 15:29

#include<stdio.h>

int sum(int num);//调用函数别忘了先声明再使用

int main ()

{

int num;

printf ("请输入一个正整数:");

scanf ("%d",&num);

printf ("%d\n",sum(num));

return 0;

}

int sum(int num)   //这里的int类型必须写,没写会传送错误的sum和num数据类型

{

if (num==1)

{

return 1;//把递归函数不能再分解的分支情况写出来,保证函数能结束

}

return sum(num-1)+num;//可以存在两个return根据需要返回所需要的值,

}  //sum(num-1)+num这里是根据问题分解成1+ ...+(num-1)最后加上num两步法得出的思路


数字1 1 2 3 5 8 13 21...

编号0 1 2 3 4 5  6   7.......

编写一个程序,输入编号能找到对应编号所对应的数字


第一种方法

#include<stdio.h>

int sun(int num);

int main ()

{

printf ("请输入一个数字:\n");

scanf("%d",&num);

printf ("%d \n",sum(num));

return 0;

}

int sum(int num)

{

if (num<=1)

{

return 1;

}


return sum[num-2] + sum[num-1];

}



#include<stdio.h>

int sun(int num);

int main ()

{

printf ("请输入一个数字:\n");

scanf("%d",&num);

printf ("%d \n",sum(num));

return 0;

}

int sum(int num)

{

static int arr[50]={0};(局部静态变量,延长生命周期)

if (num<=1)

{

return 1;

}

if ((num-1)!=0)

{

arr[num-1]=sum(num-1);

}

if ((num-2)!=0)

{

arr[num-2]=sum(num-2);

}

return arr[num-2] + arr[num-1];

}

阅读全文
0 0
原创粉丝点击