早教吧作业答案频道 -->其他-->
三道C语言题,请高手指点第一道:#includedoublef(intn){inti;doubles;s=1.0;for(i=1;i<=n;i++)s+=1.0/i;returns;}main(){inti,m=3;doublea=0.0for(i=0;i<m;i++)a+=f(i)printf("%f\n",a)}第
题目详情
三道C语言题,请高手指点第一道: #include 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 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 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 ) ); } 帮忙解一下这三道题,是怎样得出结果的?
▼优质解答
答案和解析
第一道: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
看了 三道C语言题,请高手指点第一...的网友还看了以下:
在下面循环语句中内层循环体S语句的执行总次数为()。在for(inti=0;i<n;i++)for 2020-05-14 …
北大POJ1005一直编译错误!代码如下:(在本机VS2010运行正常,交上去就编译错误:Memo 2020-06-06 …
大一期末考试复习题,求教C语言编程高手1.设inta=2,b=6,c=8;,表达式(a,b),(c 2020-06-11 …
这个程序要求是输出m个数中任取n个数的所有组合,我要抓狂了==#include;#includei 2020-06-28 …
答案是A,能解释一下为什么吗?谢谢阅读如下程序段,这个程序在编译的时候会有一个警告,下列关于这个警 2020-07-22 …
C语言斐波那契数列求和问题#include<stdio.h>intf(intn);voidmain 2020-07-23 …
阅读下面的程序,写出运行结果.(1)#include"stdio.h"main(){inti=0, 2020-07-23 …
复合函数的高阶求导问题!课本上给出了1/x的高阶求导公式(-1)^n*n!/(x)^(n+1)复合 2020-08-02 …
一个正整数N,将其分解成若干个互不相同的正整数之和,使得这些互不相同的正整数之积最大.下面程序哪错? 2020-12-01 …
在下面循环语句中循环体执行的次数为for(inti=0;in/2)breakA.n/2B.n/2+1 2020-12-15 …