题目内容 (请给出正确答案)
[主观题]

编写 fun 函数,其功能为根据形参 m 计算: y=1/2 + 1/4 + ... + 1/2m 。 例如:若 m=9 ,则应输出: 1.414484 def fun()

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“编写 fun 函数,其功能为根据形参 m 计算: y=1/2…”相关的问题

第1题

下列给定程序中,函数fun()的功能是根据整型形参m,计算如下公式的值。

y=1-1/(2×2)+1/(3×3)-1/(4×4)+…+(-1)(m+1)/(m×m)

例如:m中的值为5,则应输出0.838611。

请改正程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include <conio.h>

include <stdio.h>

double fun(int m)

{double y=1.0;

/**********found*************/

int j=1;

int i;

for(i=2;i<=m;i++)

{

j=-1*j;

/****************found*******+******/

y+=1/(i*i);

}

return(y);

}

main()

{

int n=5;

clrscr();

printf("\n The result is %lf\n",fun(n));

}

点击查看答案

第2题

下列程序中,函数fun的功能是:根据整型形参m的值,计算如下公式的值:t=1-1/(2×2)-1/(3×3)-…-1/(m×m)请填空。

#include<conio.h>

#include<stdio.h>

double fun(int m)

{double y=1.0;int i;

for(______)

y-=1.0/(i*i);

return(y);

}

main()

{int n=5;

printf("\nThe result is%1f\n",fun(n));}

点击查看答案

第3题

下列给定程序中,函数fun()的功能是:根据整型形参m的值,计算如下公式的值。

t=1-1/(2×2)-1/(3×3)-…-l/(m×m)

请改正函数fun()中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include <conio.h>

include <stdio.h>

double fun(int m)

{ double y=1.O;

int i;

/*************found**************/

for(i=2;i<m;i++)

/************found**************/

y-=1/ (i*i);

return(y);

}

main()

{ int n=5;

clrscr();

printf("\nThe result is %1f\n", fun(n));

}

点击查看答案

第4题

函数

  1.实验目的

  ①掌握定义函数的方法。

  ②掌握函数实参与形参的对应关系以及“值传递”的方式。

  ③掌握甬数的嵌套调用和递归调用的方法。

  ④掌握全局变量和局部变量、动态变量和静态变量的概念和使用方法。

  ⑤学习对多文件程序的编译和运行。

  2.实验内容

  编程序并上机调试运行。

  ①已有变量定义和函数调用语句int a=1,b=-5,c; c=fun(a,b);fun函数的作用是计算两个数之差的绝对值,并将差值返回调用函数,请编写fun函数。

  Fun(int x,int y)

  {      }

  ②有函数调用语句c=add(a,b);请编写add函数,计算两个实数a和b的和,并返回和值。

  double add(double x,double y)

  {        }

  ③利用递归方法求5!。

  ④利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

  ⑤有5个人坐在一起,问第五个人的岁数,他说比第四个人大2岁。问第四个人岁数,他说比第三个人大2岁。问第三个人,叉说比第二个人大两岁。问第二个人,又说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

  程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人的岁数,就需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

  ⑥以下程序运行后输入:3,abcde<回车>,则输出结果是______。

  #include

  move(char*str,int n)

  {char temp;int i;

  temp=sTR[n-1];

  fOr(i=n-1;i>0;i--)str[i]=str[i-1];

  str[0]=temp;

  }

  main()

  {chaR s[50];int n,i,z;

  scanf("%d,%s",&n,&s);

  z=strlen(s);

  for(i=1;i<=n;j++)

  move(s,z);

  printf("%s\n",s);

  }

  ⑦编写函数求:1-1/2+1/3-1/4+1/5-1/6+1/7-…1/n

  ⑧编程输出如下图形,

    即一个由*组成的正六边形,注意是空心的。

  3.理解变量的作用范围

  ①学习static定义静态变量的用法。

  #include"stdio.h"

  varfunc()

  {

  int var=0;

  static int static_var=0;

  printf("\40:var equal%d\n",var);

  printf("\40:static var equal%d\n",static_var);

  printf("\n");

  var++;

  static_var++;

  }

  voidmain()

  {inti;

   for(j=0;i<3;i++)

    varfunc();

  }

  ②学习使用auto定义变量的用法。

  #include"stdio.h"

  main()

  {inti,num;

  num=2;

   for(i=0;i<3;i++)

  { printf("\40:The num equal%d\n",num);

   num++;

    {

    auto int num=1;

    printf("\40:The internal block num equal%d\n",num);

    num++;

    }

   }

  }

  ③学习使用static的另一用法。

  #include"stdio.h"

  main()

  {

  inti,num;

  num=2

  for(i=0;i<3;i++)

  {

  printf("\40:The hum equal%d\n",num);

  num++;

  {

  static int num=1;

  printf("\40:The internal block hum equal%d\n",hum);

  num++;

  }

  }

  }

  ④学习使用external的用法。

  #include"stdio.h"

  int a,b,c;

  void add()

  {int a;

  a=3;

  c=a+b

  }

  voidmain()

  { a=b=4;

  add();

  printf("The value of c is equal to%d\n",c);

  }

  ⑤学习使用register定义变量的方法。

  voidmain()

  {

  register int i;

  int tmp=0:

  for(i=1;i<=100;i++)

  tmp+=i;

  printf("The sum is%dha",tmp);

  }

  (6)宏#define命令练习(1)

  #include"stdio.h"

  #defineTRUE 1

  #define FALSE 0

  #define SQ(x)(x)*(x)

  voidmain()

  {

  int num;

  int again=1;

  printf("\40:Program will stop if input value less than 50.\n");

  while(again)

  {

  printf("\40:Please input number==>");

  scanf("%d",&num);

  printf("\40:The square for this number is%d\n",SQ(num));

  if(num>=50)

   again=TRUE;

  else

   again=FALSE;

  }

  }

点击查看答案

第5题

请教:2013年9月全国计算机等级《二级C++》命题预测试卷一第1大题第24小题如何解答?
【题目描述】

有以下程序:

classDate

{

public:

Date(inty,intm,intd);

{

year=Y:

month=m;

day=d;

}

Date(inty=2000)

{

year=y;

month=10;

day=1;

}

Date(Date&d)

{

year=d.year;

month=d.month;

day=d.day;

}

voidprint(  )

{

cout<<year<<"."<(month<<"."<<day<<endl;

}

private:

intyear,month,day;

};

Datefun(Dated)

{

Datetemp;

temp=d;

returntemp;

}

intmain(  )

{

Datedatel(2000,1,1),date2(0,0,0);

Datedate3(datel);

date2=fun(date3);

return0;

}

程序执行时,Date类的拷贝构造函数被调用的次数是(  )。

A.2

B.3

C.4

D.5

【我提交的答案】: C
【参考答案与解析】:

正确答案:B

答案分析:

B。【解析】本题考核拷贝构造函数。上述程序中,拷贝构造函数一共被调用了3次:第1次是在执行语句Datedate3(date1)时,用已经建立的对象date1对正在建立的对象date3进行初始化;第2次是在调用fun函数时,由于是传值调用,因此实参对象date3要对形参对象d进行初始化;第3次是在执行fun函数中的返回语句returntemp;时,系统初始化一个匿名对象时使用了拷贝构造函数。

点击查看答案

第6题

请教:2013年9月全国计算机等级《二级C语言程序设计》考前冲刺试卷五第1大题第25小题如何解答?
【题目描述】

下列程序的输出结果是( )。

void fun(int*X,int y)

{ printf("%d%d",*x,*y);*x=3;*y=1;}

main

{ int x=1,y=2;

fun(&y,&x);

printf("%d%d",x,y);

}

A.2 1 4 3

B.1 2 1 2

C.1 2 3 4

D.2 1 1 2

【我提交的答案】: B
【参考答案与解析】:

正确答案:C

答案分析:

当执行fun函数时,因为参数传递时是地址传递,因此形参值的改变会影响实参中的数,在执行fun 函数时先输出1 2,接着把*X赋3,*y赋4,此时带回主函数中,输出的值为3 4。

下列程序的输出结果是( )。void fun(int*X,int y){ printf("%d%d",*x,*y);*x=3;*y=1;}main{ int x=1,y=2;fun(&y,&x);printf("%d%d",x,y);}A.2 1 4 3B.1 2 1 2C.1 2 3 4D.2 1 1 2
点击查看答案

第7题

请教:2014年全国计算机等级《二级C语言程序设计》上机模考试卷(1)第1大题第2小题如何解答?
【题目描述】

有以下程序:

fun(int x,int y){return(x+y);)

main

{ int a=1,b=2,c=2,sum;

sum=fun((a++,b++,a+b),c++);

printf("%d\n",sum);

}

执行后的结果是(   )。A.6

B.7

C.8

D.9

【我提交的答案】: B
【参考答案与解析】:

正确答案:C

答案分析:

表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+ b),c++)的返回值为8。

答案应该是7啊。你算算

点击查看答案

第8题

下列给定的程序中,函数hn()的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。

请改正函数fun()中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include <stdio.h>

include <math.h>

void fun(int a, int *b, int *c)

{ int i,j,d,y;

for (i=3;i<=a/2;i=i+2)

/*************found**************/

{y=0;

for (j=2;j<=sqrt((double)i);j++)

if (i%j==0) y=0;

if (y==1)

/*************found**************/

{ d=i-a;

for (j-2;j<=sqrt((double)d);

j++)

if (d%j==0) y=0;

if (y=-1)

{*b=i; *c=d;}

}

}

}

main ()

{ int a,b,c;

do

{ printf("\nInput a: ");

scanf ("%d", &a); }

while (a%2);

fun (a, &b, &c);

printf ("\n\n%d=%d+%d\n", a,b,c);

}

点击查看答案

第9题

请教:2013年9月全国计算机等级《二级C语言程序设计》命题预测试卷一第1大题第2小题如何解答?
【题目描述】

有以下程序:

fun(int x,int y){return(x+y);}

main

{ int a=1,b=2,c=2,sum;

sum=fun((a++,b++,a+b),c++);

printf("%d\n",sum);

}

执行后的结果是(   )。

A.6

B.7

C.8

D.9

【我提交的答案】: B
【参考答案与解析】:

正确答案:C

答案分析:

表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。

此题答案应为B项,其中C++因为是后加,所以传参给y时应该用加之前的数值,所以y=2,5+2=7

点击查看答案

第10题

请教:2013年9月全国计算机等级《二级C语言程序设计》命题预测试卷一第1大题第2小题如何解答?
【题目描述】

有以下程序:

fun(int x,int y){return(x+y);}

main

{ int a=1,b=2,c=2,sum;

sum=fun((a++,b++,a+b),c++);

printf("%d\n",sum);

}

执行后的结果是(   )。

A.6

B.7

C.8

D.9

【我提交的答案】: B
【参考答案与解析】:

正确答案:C

答案分析:

表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。

此题答案应为B项,其中C++因为是后加,所以传参给y时应该用加之前的数值,所以y=2,5+2=7

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信