用算法实现Round函数效果,这里仅要求将所输入的任意数值型变量保留两位小数后输出(四舍五入),以代码实现,不得使用Printf(“%.2f”,&d)或是.NET中的Round(double value, int digits)函数。

题目

用算法实现Round函数效果,这里仅要求将所输入的任意数值型变量保留两位小数后输出(四舍五入),以代码实现,不得使用Printf(“%.2f”,&d)或是.NET中的Round(double value, int digits)函数。


相似考题
更多“用算法实现Round函数效果,这里仅要求将所输入的任意数值型变量保留两位小数后输出(四舍五入),以代码实现,不得使用Printf(“%.2f”,d)或是.NET中的Round(double value, int digits)函数。”相关问题
  • 第1题:

    请补充函数fun(),该函数的功能是求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。

    例如:当x[10]={15.6, 19.9, 16.7, 15.2, 18.3, 12.1, 15.5,11.0, 10.0, 16.0},结果为:avg=15.030000。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仪在函数fun的横线上填入所编写的若干表达式或语句。

    试题程序:

    include<stdio.h>

    include<conio.h>

    double fun(double x[10])

    {

    int i;

    long t;

    double avg=0.0;

    double sum=0.0;

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

    【 】;

    avg=sum/10;

    avg=【 】;

    t=【 】;

    avg=(double)t/100;

    return avg;

    }

    main()

    {

    double avg,x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0};

    int i;

    clrscr();

    printf(“\nThe original data is:\n”);

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

    printf("%6.lf",x[i]);

    printf(“\n\n”);

    avg=fun(x);

    printf(“average=%f\n\n”,avg);

    }


    正确答案:sum+=x[i] avg*1000 (avg+5)/10
    sum+=x[i] avg*1000 (avg+5)/10 解析:第一空:通过for循环求出10个数的累加和,存于变量sum中。第二空:为了实现四舍五入保留两位小数的功能,应将平均值先扩大1000倍。第三空:将平均值加上5,再除以10,实现四舍五入的功能。

  • 第2题:

    下列给定的程序中,函数fun()的功能是:求出以下分数序列的前n项和。

    2/1,3/2,5/3,8/5,13/8,21/13,…

    其值通过函数值返回main()函数。例如,若输入n=5,则应输出8.391667。

    [注意] 部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

    [试题源程序]

    include<stdio.h>

    include<conio.h>

    double fun(int n)

    {

    int a=2, b=1, c, k;

    double (1) ;

    for(k=1; k<=n; k++)

    {

    s=s+1.0 *a/b;

    c=a; a+= (2) ; b=c;

    }

    return(d);

    }

    main()

    {

    int n=5;

    printf("\nThe value of function is: %1f\n", (3) );

    }


    正确答案:[1] s=0.0 [2] b [3] fun(n)
    [1] s=0.0 [2] b [3] fun(n) 解析:填空1:根据题目的意思,这里应该是对变量s的声明,注意到后面有对s的累加操作,所以声明之后一定要进行初始化,把s赋值为0。
    填空2:根据题目的意思,此处是循环求和,由数列很容易看出后一项的分子是前一项分母与分子之和,即a=a+b或者a+=b。
    填空3:由算法可以看出,此处是进行子函数调用。

  • 第3题:

    下列表达式中,能够保留变量x整数部分并进行四舍五入的是

    A) Fix (x)

    B) Int(x)

    C)Rnd(x)

    D) Round(x)


    正确答案:C
    【答案】:C
    【知识点】:函数应用
    【解析】:fix(x)函数与int(x)函数同为取整函数,但有所不同。当x为正时,两个取整函数都是删除x小数部分,返回其整数部分的值,不进行四舍五入;当x为负时,Int(x)返回小于或等于x的最大整数,fix(x)函数返回大于或等于x的最小整数。x可以是实数型或货币型数据。Rnd 函数是随机函数,它返回小于 1 但大于或等于 0 的值。Round 函数返回按指定位数进行四舍五入的数值。故答案为C。

  • 第4题:

    请编写函数fun(),该函数的功能是:计算并输出

    S=1+(1+20.5)+(1+20.5+30.5)+…+(1+20.5+30.5+…+n0.5)

    例如,若主函数从键盘给n输入20后,则输出为

    s=534.188884。

    注意;部分源程序给出如下。

    请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。

    试题程序:

    include <math. h>

    include <stdio. h>

    double fun(int n)

    {

    }

    main()

    {

    int n;

    double s;

    printf("\n\nInput n: ");

    scanf ("%d", &n);

    s=fun (n)

    printf ("\n\ns=%f\n\n", s);

    }


    正确答案:double fun(int n) { int i; double s=0.0s1=0.0; for(i=1;i=n; i++) {s1=s1+pow(i0.5); /*求每—项*/ s=s+s1; /*按公式求出s*/ } return s; }
    double fun(int n) { int i; double s=0.0,s1=0.0; for(i=1;i=n; i++) {s1=s1+pow(i,0.5); /*求每—项*/ s=s+s1; /*按公式求出s*/ } return s; } 解析:我们先用数学的思路读懂该程序,并用1个字符表示“()”内的值。在本程序中用s1来表示题中每个小括号内的值,第1项相当于有1个10.5次方(它还是1),第2项相当于第1项的值加上200.5次方,第3项相当于第2项的值加上30.5次方,…,依次类推。函数pow (x,y)的功能是求出x的y次方,该函数已在库函数math. h>中定义(即可直接使用)。要程序中用s来表示总的结果,每1次循环加1次s1即加1项。

  • 第5题:

    对数值型变量V_NUM,进行四舍五入,保留小数点后两位,以下操作正确的是()

    A.SUBSTR(V_NUM,1,2)

    B.TRUNC(V_NUM,2)

    C.TRUNC(V_NUM,-2)

    D.ROUND(V_NUM,2)

    E.ROUND(V_NUM,-2)


    参考答案:D

  • 第6题:

    用round函数四舍五入对数组[2.486.393.938.52]取整,结果为()

    • A、[2638]
    • B、[2648]
    • C、[2649]
    • D、[3749]

    正确答案:C

  • 第7题:

    对数值型变量V_NUM,进行四舍五入,保留小数点后两位,以下操作正确的是()

    • A、SUBSTR(V_NUM,1,2)
    • B、TRUNC(V_NUM,2)
    • C、TRUNC(V_NUM,-2)
    • D、ROUND(V_NUM,2)
    • E、ROUND(V_NUM,-2)

    正确答案:D

  • 第8题:

    在某工作表中,对A1单元格中的数据进行四舍五入(保留一位小数),并将结果填入D2单元格中,应在D2单元格中输入下述哪个计算公式()

    • A、=round(A1,1)
    • B、=round(A1,3)
    • C、=int(A1)
    • D、=sum(A1)

    正确答案:A

  • 第9题:

    取整函数为()

    • A、MOD()
    • B、INT()
    • C、ROUND()
    • D、ABS()

    正确答案:B

  • 第10题:

    Excel中,若要对B2中的数据保留两位小数四舍五入,应该使用的公式是()

    • A、=ROUND(B2,0)
    • B、=ROUND(B2,1)
    • C、=ROUND(B2,2)
    • D、=ROUND(B2,-2)

    正确答案:C

  • 第11题:

    单选题
    在VisualBasic中,InputBox函数的默认返回值类型为字符串,用InputBox函数输入数值型数据时,下列操作中可以有效防止程序出错的操作是()
    A

    事先对要接收的变量定义为数值型

    B

    在函数InputBox前面使用Str函数进行类型转换

    C

    在函数InputBox前面使用Value函数进行类型转换

    D

    在函数InputBox前面使用String函数进行类型转换


    正确答案: A
    解析: 暂无解析

  • 第12题:

    单选题
    在某工作表中,对A1单元格中的数据进行四舍五入(保留一位小数),并将结果填入D2单元格中,应在D2单元格中输入下述哪个计算公式()
    A

    =round(A1,1)

    B

    =round(A1,3)

    C

    =int(A1)

    D

    =sum(A1)


    正确答案: D
    解析: 暂无解析

  • 第13题:

    已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的正确输出结果是

    void print_value(int *x)

    {printf("%d\n",++*x);}

    A.23

    B.24

    C.25

    D.26


    正确答案:D

  • 第14题:

    请编写函数fun(),其功能是:计算并输出下列多项式的值。

    S=1+4/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)

    例如,着主函数从键盘给n输入50后,则输出为 S=1.960784。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include <stdio.h>

    double fun(int n)

    {

    }

    main ()

    {

    int n;

    double s;

    printf ("\nInput n: ");

    scanf ("%d", &n);

    s=fun (n);

    printf ("\n\ns=%f\n\n", s);

    }


    正确答案:double fun (int n) { int i; double s=0.0s1=0.0; for(i=1;i=n;i++) {s1=s1+i; /*求每—项的分母*/ s=s+1.0/s1; /*求S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)*/ } return s; }
    double fun (int n) { int i; double s=0.0,s1=0.0; for(i=1;i=n;i++) {s1=s1+i; /*求每—项的分母*/ s=s+1.0/s1; /*求S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)*/ } return s; } 解析:该程序的数学思路是:在程序中输入n后,以前n项的和作为分母递加,由于s1是浮点类数据所以s=s+1.0/s1; for 循环的作用是每一次循环给总结果s加上一项1.0/s1。

  • 第15题:

    请编写函数fun(),其功能是:计算并输出下列多项式值。

    S=(1+1/2)+(1/3+1/4)+…+(1/(2n-1)+l/2n)

    例如,若主函数从键盘给n输入12后,则输出为 S=3.775958。

    n的值要求大于1但不大于100。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include<stdio.h>

    double fun(int n)

    {

    }

    main()

    {

    int n;

    double s;

    printf("\nlnput n:");

    scanf("%d",&n);

    s=fun(n);

    printf("\ns=%f\n",s);

    }


    正确答案:double fun(int n) { int i; double s=0.0; for(i=1;i=n;i++) /*计算S=(1+l/2)+(1/3+1/4)+…+(1/(2n-1)+1/2n)*/ s=s+(1.0/(2*i-1)+1.0/(2*i)); return s; }
    double fun(int n) { int i; double s=0.0; for(i=1;i=n;i++) /*计算S=(1+l/2)+(1/3+1/4)+…+(1/(2n-1)+1/2n)*/ s=s+(1.0/(2*i-1)+1.0/(2*i)); return s; } 解析:本题中s=s+(1.0/(2*i-1)+1.0/(2*i));语句是用C程序去表达题目中的每一项,这是关键,其他问题不难理解。

  • 第16题:

    请编一个函数float fun (double h),函数的功能是对变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。

    例如:若h值为8.32433,则函数返回8.32:若h值为 8.32533,则函数返回8.33。

    注意:部分源程序给出如下。

    请勿改动主函数main 和其他函数中的任何内容,仅在函数。fun 的花括号中填入所编写的若干语句。

    试题程序:

    include <stdio. h>

    include <conio. h>

    float fun (float h )

    {

    }

    main()

    {

    float a;

    clrscr ();

    printf ("Enter a: ");

    scanf ("%f", &a);

    printf("The original data is : ");

    printf("%f\n\n", a) ;

    printf("The result: %f\n", fun(a) );

    }


    正确答案:float fun (float h) { long t; t=(h*1000+5)/10; /*单精度数h乘以1000后再加5相当十对h中的第三位小数进行四舍五入 除以10后将其赋给一个长整型数时就把第三位小数后的数全部截去*/ return (float) t/100; /*除以100保留2位小数*/
    float fun (float h) { long t; t=(h*1000+5)/10; /*单精度数h乘以1000后再加5,相当十对h中的第三位小数进行四舍五入 除以10后将其赋给一个长整型数时就把第三位小数后的数全部截去*/ return (float) t/100; /*除以100,保留2位小数*/ 解析:注意本题要求h的值真正发生了四舍五入,而不是为了输出,即不能用printf(“%7.2f”,h)来直接得到结果。由于单精度数h乘以1000后再加5,此时相当于对h中的第三位小数进行四舍五入,再将其赋给一个长整型数时就把第三位小数后的数全部截去。注意在return 中要将其中一个数转成浮点型数。

  • 第17题:

    (29)表达式“B=INT(A+0.5)”的功能是

    A)将变量A保留小数点后1位

    B)将变量A四舍五入取整

    C)将变量A保留小数点后5位

    D)舍去变量A的小数部分


    正确答案:D

  • 第18题:

    表达式"B=INT(A+0.5)"的功能是()

    • A、将变量A保留小数点后1位
    • B、将变量A四舍五入取整
    • C、将变量A保留小数点后5位
    • D、舍去变量A的小数部分

    正确答案:B

  • 第19题:

    设变量x的值是一个小数,下列函数表达式能将其四舍五入处理的是()。

    • A、Int(x)
    • B、Int(x+0.5)
    • C、Fix(x)
    • D、Fix(x+0.5)
    • E、Round(x)

    正确答案:B,D,E

  • 第20题:

    要从数值型数据123中取出数值23,如果限制函数嵌套,则最适合采用的函数是()。

    • A、int()
    • B、round()
    • C、mod()
    • D、exp()

    正确答案:C

  • 第21题:

    在VisualBasic中,InputBox函数的默认返回值类型为字符串,用InputBox函数输入数值型数据时,下列操作中可以有效防止程序出错的操作是()

    • A、事先对要接收的变量定义为数值型
    • B、在函数InputBox前面使用Str函数进行类型转换
    • C、在函数InputBox前面使用Value函数进行类型转换
    • D、在函数InputBox前面使用String函数进行类型转换

    正确答案:A

  • 第22题:

    单选题
    Excel中,若要对B2中的数据保留两位小数四舍五入,应该使用的公式是()
    A

    =ROUND(B2,0)

    B

    =ROUND(B2,1)

    C

    =ROUND(B2,2)

    D

    =ROUND(B2,-2)


    正确答案: A
    解析: 暂无解析

  • 第23题:

    单选题
    表达式“B=INT(A+0.5)”的功能是()
    A

    将变量A保留小数点后1位

    B

    将变量A四舍五入取整

    C

    将变量A保留小数点后5位

    D

    舍去变量A的小数部分


    正确答案: D
    解析: 暂无解析