永发信息网

三道C语言题,请高手指点

答案:2  悬赏:60  手机版
解决时间 2021-05-02 13:50
  • 提问者网友:那叫心脏的地方装的都是你
  • 2021-05-01 22:18

第一道:

#include   <stadio.h>

double  f  ( int n )

{     int  i;   double s;

      s=1.0;

      for ( i=1;i<=n;i++) s+=1.0/i;

      return s;

}

main ( )

{     int   i, m=3;      double a=0.0

      for ( i=0; i<m;i++) a+=f(i)

      printf ("%f\n",a)

}

第二道:

#include   <stdio.h>

double  sub (doule x,double y, double z)

{ y-=1.0;z=z+x;return z;}

main ( )

{     double  a=2.5,b=9.0;

       printf ("%f\n", sub ( b-a,a,a ) )

}

第三道:

#include   <stdio.h>

int  fun2  ( int a,int b)

{     int   c;

       c=(a*b)%3;   return c;

}

int fun1 ( int a, int b )

{    int  c;

     a+=a;  b+=b;  c=fun2 ( a,b );

     return c*c;

}

main ( )

{    int   x=11,y=19;

     printf ("%d\n",fun1 ( x,y ) );

}

帮忙解一下这三道题,是怎样得出结果的?

最佳答案
  • 五星知识达人网友:神鬼未生
  • 2021-05-01 23:44

第一道:f()函数是计算1~n的倒数和,即1+1/2+1/3+……+1/n;而主函数中是计算f(1)~f(m)的值,也就是1+(1+1/2)+(1+1/2+1/3)+……+(1+1/2+1/3+……+1/m);


第二道:不要被形参迷惑sub()函数做了z=z+x,sub ( b-a,a,a )也就是最后返回a+b-a=b,即9.0


第三道:fun1和fun2函数联合起来相当于做了,[(2a*2b)%3]^2,将xy带入得,0

全部回答
  • 1楼网友:酒者煙囻
  • 2021-05-02 01:08

你是想知道它们的执行过程还是最终得到的结果

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯