c语言程序设计 例8.7

c语言程序设计 例8.7,第1张

首先要说明的是,这个并不是什么循环,而是嵌套

第二点,主函数调用了int age(int n)这个函数。在语句printf("%d\n",age(5))中调用的,不过主函数调用age函数之前没有声明,是不对的。但是如果用Visual C++的话,如果主函数写在后边可能也能执行。

既然你知道age函数是可以被调用的,那么你就用该知道,age函数自身也可以调用自己。所以 在age函数中有c=age(n-1)+2这句话这句话就是调用自己(age)函数

那么,现在来说说这道题的思路。

我们要知道第五个人年龄(age(5)的值),就必须知道第四个人的年龄(age(4))然后用(age(4)+2)那么要知道age(4),就需要age(3)。直到age(1)。

再看看这个程序

ing age(int n) //n代表的是人的序号

{

int c//返回n的年龄

if (n==1) //如果说是第一个人的话

c=10//那么他的年龄就是10

else //

c=age(n-1)+2//如果不是第一个人,就调用前一个人的年龄

return(c)//

}

这样,也就是说只要不知道这个人的确切年龄(即不是第一个人)就通过age(n-1)求出前面一个人的年龄,知道知道确切年龄的人(第一个人)为止

#include <stdio.h>

int main()

{

    int i = 0, j=0

    int slnum = 0

    for(i=0i<=30i++)

        for(j=0j<=10j++){

            if((i+3*j) == 30){

                slnum++

                printf("%d,%d\n",i,j)

            }

        }

    printf("the num of solution is %d\n",slnum)

    return 0

}

其实就是x+3y = 30有多少解的问题


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11750101.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存