鱼C论坛

 找回密码
 立即注册
查看: 1686|回复: 6

一道往年二级C语言的题目,不太理解,请各大神指导。

[复制链接]
发表于 2016-7-30 11:30:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 百变kelvin 于 2016-8-3 11:19 编辑

//本人菜鸟初学者
#include  <stdio.h>
double fun(int  n)
{ int  i;    double  s, t;
/**********found**********/
  s=__1__;                          //此处答案是0;
/**********found**********/
  for(i=1; i<=__2__; i++)   //此处答案是n;
  { t=2.0*i;
/**********found**********/
    s=s+(2.0*i-1)*(2.0*i+1)/__3__;   //此处答案是(t*t)
  }
  return  s;
}
main()
{ int  n=-1;
  while(n<0)
  { printf("Please input(n>0): "); scanf("%d",&n);  }
  printf("\nThe result is: %f\n",fun(n));
}
两个问题:
第一个填空处可以填0.0吗?
第三个空不太理解,t*t
请各位大神指导指导,感激不尽。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-30 12:06:40 | 显示全部楼层
1、可以填0.0的。
2、整个函数我是理解的,是实现递归功能,求累加,你就用举例的方式,i=1,i=2,很好理解的。应该有题目要求的哈~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2016-7-30 23:21:39 | 显示全部楼层

#include  <stdio.h>
#include  <conio.h>

double fun(int  n)
{
        int  i;   
        double  s, t;            
        s=0.0;                                                                //此处答案是0,  (意思就是你给它赋初始值)
        for(i=1; i<=n; i++)                                        //此处答案是n,  (就是提示你它循环停止的上限,也就是你从函数里面传过来的n值)
        {
                t=2.0*i;                                               
                s=s+(2.0*i-1)*(2.0*i+1)/(t*t);   //此处答案是(t*t),(提示你后面除t*t,但是根据运算法则,你必须上括号,保证优先性)
        }
        return  s;
}

main()
{
        int  n=-1;
        while(n<0)
        {
                printf("Please input(n>0): \n");
                scanf("%d",&n);  
        }
        printf("The input num is %d\n", n);
        printf("\nThe result is: %lf\n",fun(n));
        getch();
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-31 13:20:27 | 显示全部楼层
大奔G 发表于 2016-7-30 23:21
#include  
#include  

我其实是想问s=s+(2.0*i-1)*(2.0*i+1)/(t*t)这一段是什么意思,我怎么知道这里的空是填t*t呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-2 20:32:09 | 显示全部楼层
百变kelvin 发表于 2016-7-31 13:20
我其实是想问s=s+(2.0*i-1)*(2.0*i+1)/(t*t)这一段是什么意思,我怎么知道这里的空是填t*t呢?

我一开始看了将近五分钟,结合他是一道问题,那么他那必然是横线是提示你输出,所以我理所当然后边填上t*t
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-3 10:59:41 | 显示全部楼层
问题已解决,第三个空是根据给定的公式填入的,不过还是感谢鱼友的指导。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-3 18:40:51 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 10:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表