| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5371 人关注过本帖
标题:数组求和编程
只看楼主 加入收藏
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
//第一题

#include<stdio.h>
#include<math.h>
float fun(int n,float x,float y)
{
    float s=0;
    if (n!=30)
        s=fun(n+1,x+y,x);
     return (s+x/y);
}
int main()
{
    printf("%f\n",fun(1,2,1));
    return 0;
}

//第二题
#include<stdio.h>
int fun(int x,int y,int n)
{
    if (n)
        fun(x+y,x,n-1);
    else  
        return (y);
}
int main()
{
    int n;
    printf("请输入月份:");
    scanf("%d",&n);
    printf("%d\n",fun(1,1,n-1));
    return 0;
}

//第三题
#include<stdio.h>
int fun(int x)
{
    if (x<1)
        return (x);
    else if (x<20)
        return (2*x-1);
    else return (3*x-11);
}
int main()
{
    int x;
    scanf("%d",&x);
    printf("%d\n",fun(x));
    return 0;
}

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-30 14:01
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:3 
以下是引用甜甜的惟在2016-11-29 19:44:07的发言:

 s=fun(n+1,x+y,x);
      return (s+x/y);


这里表示看不懂

这样看呢
n = 1, s= fun(1, 2, 1)= s +2/1       ...t1
n = 2, s= fun(2, 3, 2)= s + 3/2      ...t2
n = 3, s= fun(3, 5, 3)= s + 5/3      ...t3
n = 4, s= fun(4, 8, 5)= s + 8/5      ...t4
n = 5, s= fun(5, 13, 8)= s + 13/8    ...t5
n = 6, s= fun(6, 21, 13)= s + 21/13  ...t6
n = 7, s= fun(7, 34, 21)= s + 34/21  ...t7
n = 8, s= fun(8, 55, 34)= s + 55/34  ...t8
.
.
n = 30, s= fun(30, x+y, x)= s + x/y   ...t8

早知做人那么辛苦!  当初不应该下凡
2016-11-30 21:29
新手丶小方
Rank: 2
等 级:论坛游民
帖 子:16
专家分:18
注 册:2016-11-28
收藏
得分:3 
回复 7楼 甜甜的惟
你干嘛把这两句凑一起了?
第一句是上面的循环的 是递归。
第二句是相加,也是递归的一部分。
2016-11-30 22:56
新手丶小方
Rank: 2
等 级:论坛游民
帖 子:16
专家分:18
注 册:2016-11-28
收藏
得分:0 
感觉楼主发的是期中考试的试题。。。
2016-11-30 22:59
大秦嬴
Rank: 2
等 级:论坛游民
威 望:1
帖 子:31
专家分:31
注 册:2016-11-30
收藏
得分:3 
第一题
#include<stdio.h>
int main()
{
    float a[30]={2.0,1.0},sum=2.0;
    int i;   
    for(i=2;i<30;i++)
       sum+=(a[i-1]+a[i-2])/a[i];
    printf("%f\n",sum);
    return 0;
}
第三题
#include<stdio.h>
int main()
{
    float x,y;
    while(scanf("%d",&x)!=EOF)
    {
       if(x<1)y=x;
       else if(x>=1&&x<20)y=2*x-1;
       else if(x>=20)y=3*x-11;
       printf("%f\n",y);
    }
    return 0;
}
第二题和第一题差不多,自己动手练练吧
2016-12-02 18:50
大秦嬴
Rank: 2
等 级:论坛游民
威 望:1
帖 子:31
专家分:31
注 册:2016-11-30
收藏
得分:0 
int fun(int x,int y,int n)
这个代表什么意思?
请大神指导一下,@九转星河
2016-12-02 18:53
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
int fun(int x,int y,int n)//int 函数返回值类型~fun()函数名~(int x,int y,int n)形参~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-02 20:49
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 15楼 大秦嬴
无聊随便看看~下面你a[i-1],a[i-2]值好像没有随i的变化而赋予新的值~这是怎么测试的?用数组处理也可以,但要求出每一项a[i]的值才行~
以下是引用大秦嬴在2016-12-2 18:50:22的发言:

第一题
#include<stdio.h>
int main()
{
    float a[30]={2.0,1.0},sum=2.0;
    int i;   
    for(i=2;i<30;i++)
       sum+=(a[i-1]+a[i-2])/a[i];
    printf("%f\n",sum);
    return 0;
}

有点时间帮你把程序修改了一下,可以去看看

#include<stdio.h>
int main()
{
    float a[30]={1.0,2.0},sum=2.0;
    int i;
    for(i=2;i<30;i++)
    {
        sum+=(a[i-1]+a[i-2])/a[i-1];
        a[i]=a[i-1]+a[i-2];
        
    }
    sum+=(a[i-1]+a[i-2])/a[i-1];
    printf("%f\n",sum);
    return 0;
}


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-02 22:40
大秦嬴
Rank: 2
等 级:论坛游民
威 望:1
帖 子:31
专家分:31
注 册:2016-11-30
收藏
得分:0 
谢谢
2016-12-05 13:04
大秦嬴
Rank: 2
等 级:论坛游民
威 望:1
帖 子:31
专家分:31
注 册:2016-11-30
收藏
得分:0 
#include<stdio.h>
int main()
{
    float a[30]={2.0,1.0},sum=2.0;
    int i;
    for(i=2;i<30;i++)
       {
        a[i]=a[i-1]+a[i-2];
       sum+=a[i]/a[i-1];
       }
    printf("%f\n",sum);
    return 0;
}
九转大神,我这个答案是48.500908
你的答案是48.840603
是我的代码有什么问题吗?
2016-12-05 14:27
快速回复:数组求和编程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039233 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved