从键盘输入若干个数,当输入0时结束输入,求这些数的和以及平均值。 提示:设输入的数存放在x中,sum表示和,n表示读入数的个数,则求若干个数的和,就是对x进行累加,即sum=sum+x,其中sum的初值为0。如果读入个数n大于0,则输出sum、sum/n。 要求:采用while与if结构语句实现。

题目

从键盘输入若干个数,当输入0时结束输入,求这些数的和以及平均值。 提示:设输入的数存放在x中,sum表示和,n表示读入数的个数,则求若干个数的和,就是对x进行累加,即sum=sum+x,其中sum的初值为0。如果读入个数n大于0,则输出sum、sum/n。 要求:采用while与if结构语句实现。


相似考题
更多“从键盘输入若干个数,当输入0时结束输入,求这些数的和以及平均值。 提示:设输入的数存放在x中,sum表示和,n表示读入数的个数,则求若干个数的和,就是对x进行累加,即sum=sum+x,其中sum的初值为0。如果读入个数n大于0,则输出sum、sum/n。 要求:采用while与if结构语句实现。”相关问题
  • 第1题:

    请编写两个函数int sum_of_powers(int k,int n),powers(int m,int n),求1~6的k次方的和,sum_of_powers中参数k和n分别表示k次方和所求数列中最大的一个自然数,最后返回所求值,powers中参数m和n分别表示m为底数n为指数,最后返回所求值。要求使用for循环和函数嵌套(int sum_of_powers中调用powers)实现算法。输出结果如下:

    sum of 4 powers of intergers from 1 to 6=2275

    注意:部分源程序已存在文件test25_2.cpp中。

    请勿修改主函数main和其他函数中的任何内容,仅在函数sum_of_powers和powers的花括号中填写若干语句。

    文件test25_2.cpp的内容如下:

    include<iostream.h>

    const int k(4);

    const int n(6);

    int sum_of_powers(int k,int n),powers(int m,int n);

    void main()

    {

    cout<<"sum of "<<k<<" powers Of intergers from 1 to "<<n<<"=";

    cout<<sum_of_powers(k,n)<<endl;

    }

    int sum_of_powers(int k,int n)

    {

    }

    int powers(int m, int n)

    {

    }


    正确答案:(1)int sum_of_powers(int kint n) { int sum(0); for(int i=1;i=n;i++) sum+=powers(ik); return sum; } (2) int powers(int m int n) { int iproduct(1); for(i=1;i=n;i++) product*=m; return product; }
    (1)int sum_of_powers(int k,int n) { int sum(0); for(int i=1;i=n;i++) sum+=powers(i,k); return sum; } (2) int powers(int m, int n) { int i,product(1); for(i=1;i=n;i++) product*=m; return product; } 解析:本题考查的是考生使用for循环和函数嵌套解决一般问题的能力。注意最后将计算的值返回。

  • 第2题:

    ( 9 )下面的函数利用递归实现了求 1+2+3+ …… +n 的功能:

    int sum ( int n ) {

    if ( n==0 )

    return 0;

    else

    return n+sum ( n-1 ) ;

    }

    在执行 sum ( 10 )的过程中,递归调用 sum 函数的次数是【 9 】 。


    正确答案:

  • 第3题:

    编写程序:

    OptionBase1

    Dimmark()AsInteger

    PrivateSubCommand1_Click()

    Dimn,sumAsInteger

    DimaveAsSingle

    n=Val(InputBox("输入学生的个数"))

    ReDimmark(n)AsInteger

    sum=0

    ForI=1Ton

    mark(I)=10*I

    sum=sum+mark(I)

    NextI

    ave=sum/n

    Printsum;"和";ave

    EndSub

    单击命令按钮后输入4,则输出的结果为( )

    A.60和20

    B.30和20

    C.11和10

    D.100和25


    正确答案:D

  • 第4题:

    请编写一个函数fun(),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)之和(规定n的值不大于1000)。

    例如:输入n的值为856,则输出为sum=763。

    注意:部分源程序已存在文件test33_2.cpp中。

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

    文件test33_2.cpp清单如下:

    include<stdio. h>

    include<iostream. h>

    int fun(int n)

    {

    }

    void main ( )

    {

    int n, sum;

    cout<<"Input n:"<<end1;

    cin>>n;

    sum=fun (n);

    cout<<" sum= \n"<<sum<<end1;

    }


    正确答案:int fun(int n) {int s=0i; for(i=2;i=n-1;i++) if (n%i==0) s+=i; return s; }
    int fun(int n) {int s=0,i; for(i=2;i=n-1;i++) if (n%i==0) s+=i; return s; } 解析:本题的解题思路是用n逐个去除以2到n-1之间的所有数,如果n能被除尽,则把所得到的一个因子累加到s中去。此种题型为典型考题。

  • 第5题:

    下面程序段的输出结果是 public class Test{ public static void main(String args[]){ int n=5,sum=0; while(n>0){ sum+=n; --n; } System.out.println("sum is"+sum); } }

    A.sum is 14

    B.sum is 15

    C.sum is 10

    D.sum is 5


    正确答案:B
    解析:本题考查while语句的用法。while循环,又称为“当型”循环,题目程序是从5-1逐渐累加并输出结果,考生需要注意不要增加或减少循环次数。还要注意对自减运算符的理解。--n表示对操作数先减1,然后再取值,而n--表示先取值,然后再对n进行减1。所以最后结果是5+4+3+2+1=15。

  • 第6题:

    请补充main 函数,该函数的功能是:计算两个自然数n和m(m<10000)之间所有数的和(n和m从键盘输入)。

    例如:当n=1,m=100时,sum=5050:当n=100,m=1000时,sum=495550。

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

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

    试题程序:

    include<stdio.h>

    include<conio.h>

    main ()

    {

    int n, m;

    long sum;

    【 】

    clrscr ();

    printf ("\nInput n,m\n");

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

    while (n<=m)

    {

    【 】

    n++;

    }

    printf ("sum=%【 】\n", sum);

    }


    正确答案:sum=0 sum+=n 1d
    sum=0 sum+=n 1d 解析:第一空:变量sum 进行了类型声明,但没有进行初始化,而后面的程序用sum 来存放最后的结果,所以要在使用前将sum 初始化为0。第三空:通过while 循环将自然数n和m之间的数进行累加,结果存于sum 中。第三空:由于sum 为长整型,所以标准输出函数printf ()中的格式控制符为“%1d”。

  • 第7题:

    下列程序的输出结果是( )。 public class Test { public static void main (String[] args) { int n=5,sum=0; while (n>0) { sum+=n; --n; } System.out.println("Sum is"+sum); } }

    A.sum is 14

    B.sum is 15

    C.sum is 10

    D.sum is 5


    正确答案:B
    解析:本题目实际上是利用循环求1到n的和,n为5,所以结果为15。

  • 第8题:

    设存在函数 int sum(int,int)返回两个参数的和,若求20、45、100三个数的和,下列表达式不正确的是

    【 】

    A.int m=sum(20,45,100) ;

    B.int m=sum(sum(20,45),100);

    C.int m=sum(20,sum(45,100));

    D.int m=sum(45,sum(20,100));


    正确答案:A
    考点点击:本题主要考查的知识点为函数返回值为函数参数。要点透析:函数返回值作为函数参数,该返回值类型必须与参数的类型一致,B、C、D项真确;sum函数只有两个参数,而A选项有三个参数,参数个数不同,故A项错误;

  • 第9题:

    试题1

    下列程序的功能是:找出所有100以内(含100)满足i,i+4,i+10都是素数的整数i(i+10也在100以内)的个数cnt以及这些i之和sum。请编写函数countvalue()实现程序要求,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。

    注意:部分源程序已给出。

    请勿改动主函数main()和函数writeDAT()的内容。

    试题程序:

    #include <stdio.h>

    int cnt, sum;

    int isPrime(int number)

    {

    int i, tag = 1;

    for (i=2; tag && i<=number/2; i++)

    if (number%i == 0)

    tag = 0;

    return tag;

    }

    void countValue()

    {

    }

    void writeDat()

    {

    FILE *fp;

    fp = fopen("out.dat", "w");

    fprintf(fp, "%d\n%d\n", cnt, sum);

    fclose(fp);

    }

    void main()

    {

    cnt = sum = 0;

    countValue();

    printf("满足条件的整数的个数=%d\n", cnt);

    printf("满足条件的整数的和值=%d\n", sum);

    writeDat();


    正确答案:

    试题1答案:
    void countvalue()
    {
    int i;
    for(i=2;i<=90;i++)
    if(isPrime(i) && isPrime(i+4) && isPrime(i+10))
    {
    cnt++;
    sum+=i;
    }
    } }
    试题1分析:
    该程序属于按条件查找数字的题目,考核的知识点为:(1)素数的判定;(2)统计个数并求和。
    本题的解题思路是:题目要求的筛选范围是“所有100以内(含100)满足i、i+4、i+10都是素数的整数i(i+10也在100以内)”,由于最小的素数是2,且i+10要在100以内(含100),所以筛选的范围是2~90。
    题目要求的筛选条件是“满足i、i+4、i+10都是素数的整数i”。在答题之前,应先通读题目已给出的源程序,在我们要实现的函数countvalue()之前给出一个在题目中从未提及的函数isPrime()。仔细分析这个函数的代码不难发现,它实现了从2~number/2内寻找能整除number的数,如果找到就使变量tag为0,此时循环条件将不成了,最终返回0,如果找不到,变量tag为1,返回1.这段代码实现的是判断一个数是够是素数。所以在函数中对筛选条件可以简化为if(isPrime(i) && isPrime(i+4) && isPrime(i+10))。
    程序的流程是:调用countvalue()函数对数据进行处理,最后由writeDAT()函数将结果写入文件out.dat中。
    在countvalue()函数中,For循环的功能是判断i、i+4、i+10是否都为素数,若在素数则将i累加到sum中,同时个数cnt加1,函数结束。

     

  • 第10题:

    判断完数的算法,需要求因子之和,若累加器为sum,则sum应该赋初值为()

    • A、sum=0;
    • B、sum=i;
    • C、sum=1;
    • D、sum=sum;

    正确答案:A

  • 第11题:

    问答题
    从键盘输入若干个数,当输入0时结束输入,求这些数的和以及平均值。 提示:设输入的数存放在x中,sum表示和,n表示读入数的个数,则求若干个数的和,就是对x进行累加,即sum=sum+x,其中sum的初值为0。如果读入个数n大于0,则输出sum、sum/n。 要求:采用while与if结构语句实现。

    正确答案: 程序:
    sum=0; n=0;
    x=input('Enter a number (end in 0):');
    while x~=0
    sum=sum+x;
    n=n+1;
    x=input('Enter a number (end in 0):');
    end
    if n>0
    sum
    mean=sum/n
    end
    解析: 暂无解析

  • 第12题:

    单选题
    有一个单元格Cn(n指个数),要求其左边所有单元格之和,请输入()。
    A

    =SUM(C1:Cn)

    B

    =SUM(A1:Bn)

    C

    =SUM(An:Bn)

    D

    =SUM(A1:Cn)


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

  • 第13题:

    阅读以下说明和Java代码,将解答写入对应栏内。

    【说明】

    下面的程序中定义了两个方法求自然数1~100的和。具体如下:int suml(int n);利用循环求1~n的和,int sum2(int n);利用递归方法求和1~n的和;在main()方法中调用这两个方法求1~100的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。

    public class Sum {

    public static void main (1)

    {

    //1. 调用sum1(int n),求1~100的和

    //标准输出

    (2) ("1~100的和:" +sum1(100));

    //2. 调用sum2(int n),求1~100的和

    //标准输出

    (2) ("1~100的和:"+sum2(100));

    }

    static iht sum1( int n)

    {

    int result=0;

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

    (3)

    retrun result;

    }

    static int sum2(int n)

    {

    if (4)

    return 1

    else

    (5)

    }

    }


    正确答案:(1)String args[] (2)System. out (3)result=result+n;或等价形式 (4)n==1; (5)return n+sum2 (n-1);
    (1)String args[] (2)System. out (3)result=result+n;或等价形式 (4)n==1; (5)return n+sum2 (n-1); 解析:此处为Java主函数的参数,是固定写法。Java程序的标准输出是调用System包的out对象的函数。循环累加。这是递归调用的结束条件。对n-1进行递归调用,并返回n和n-1个整数和的和。

  • 第14题:

    下面程序的输出结果是( )。 public class Sun { public static void main(String args[ ]) { int n=4 ,sum=0; while (n>0) { sum+=n; n--; } System.out.println("sum is "+sum); } }

    A.sum is 10

    B.sum is 4

    C.10

    D.4


    正确答案:A
    解析:该题考查对while语句的理解。该程序是从1~4的累加并输出结果。C、D显然是错的,没有sumis,B没有累加。故本题答案是A。

  • 第15题:

    【程序说明】程序功能是比较从键盘输入的若干个数的大小,并输出其中的最大和最小值。

    【程序】

    SET TALK OFF

    CLEA

    INPUT“M=” TO M

    (4)

    DO WHILE .T.

    INPUT“N=” TO N

    (5)

    D=N

    ENDIF

    IF X>N

    (6)

    ENDIF

    YN=“A”

    (7)

    WAIT“是否继续输入(Y—继续/N—结束)”TO YN

    ENDDO

    (8)

    EXIT

    ENDIF

    ENDDO

    ?“最大的数是:”,D

    ?“最小的数是:”,X

    SET TALK ON

    (4)

    A.STORE M,0 TO D,X

    B.STORE 0 TO D,X

    C.STORE M TO D,X

    D.STORE 0,0 TO D,X


    正确答案:C
    解析:把输入的第一个M值赋给指向最大值D变量和指向最小值X变量。

  • 第16题:

    下列程序的功能是:选出5000以下符合条件的自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些4位自然数的个数cnt及这些数的和sum。请编写函数countValue()实现程序的要求,最后调用函数wfiteDAT()把结果cnt和sum输出到文件OUT67.DAT中。

    注意:部分源程序已给出。

    请勿改动主函数main()和写函数writDAT()的内容。

    试题程序:

    include<stdio.h>

    int cnt,sum;

    void countValue()

    {

    }

    void main()

    {

    cnt=sum=0;

    countValue ();

    printf ("满足条件的自然数的个数=%d\n", cnt);

    printf ("满足条件的自然的值的和=%d\n", sum);

    writeDAT ();

    }

    writeDAT ( )

    {

    FILE *fp;

    fp=fopen ( "OUT67. DAT" , "w" );

    fprintf (fp, "%d\n%d\n", cnt, sum);

    fclose {fp);

    }


    正确答案:void countValue() { int i thou hun ten data; for (i=5000; i>=1000; i--) { t hou=i/1000; /*求四位数的千位数字*/ hun=i%1000/100; /*求四位数的百位数字*/ ten=i%100/10; /*求四位数的十位数字*/ dat a=i%l 0; /*求四位数的个位数字*/ if (thou+hun==ten+data && thou+hun==(data-thou) *10) { /*千位数与百位数之和等于十位与个位数之和且千位数下百位数之和等于 于个位数与千位数之差的10倍*/ cnt++; /*则统计满足条件的数的个数*/ sum+=i; /*将满足条件的数求和*/ } }
    void countValue() { int i, thou, hun, ten, data; for (i=5000; i>=1000; i--) { t hou=i/1000; /*求四位数的千位数字*/ hun=i%1000/100; /*求四位数的百位数字*/ ten=i%100/10; /*求四位数的十位数字*/ dat a=i%l 0; /*求四位数的个位数字*/ if (thou+hun==ten+data && thou+hun==(data-thou) *10) { /*千位数与百位数之和等于十位与个位数之和,且千位数下百位数之和等于 于个位数与千位数之差的10倍*/ cnt++; /*则统计满足条件的数的个数*/ sum+=i; /*将满足条件的数求和*/ } } 解析:本题考查的知识点如下:
    (1)“%”与“/”的使用。
    (2)判断结构中多个条件的布尔运算。
    (3)循环结构的使用。
    本题要求选出5000以下符合条件的4位数,所以选择范围是1000到5000。这里要借助运算符“%”与“/”将4位数各位上的数拆成独立的数字:将1个4位数整除1000则可得到其千位上的数字,除以1000取余再整除 100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位卜的数字。题巾给出的两个条件都要满足,所以两条件之间用“与”运算。使用循环结构对1000到5000之间的数依次进行上述的处理。

  • 第17题:

    请编写一个函数inline long sum(int n),用递归函数完成运算:sum(n)=1*1+2*2+…n*n,递归表达式为 sum(n)=sum(n-1)+n2。

    注意:部分源程序已存在文件test10_2.cpp中。

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

    文件test10_2.cpp的内容如下:

    include<iostream.h>

    inline long sum(int n)

    {

    }

    void main()

    {

    int n;

    cout<<"输入n:";

    cin>>n;

    cout<<"结果为:"<<sum(n)<<endl;

    }


    正确答案:inline long sum(int n) { if(n==1) return 1; else return n*n+sum(n-1); }
    inline long sum(int n) { if(n==1) return 1; else return n*n+sum(n-1); } 解析:本题考查的是考生对递归函数掌握的熟练程度。递归的终止条件为n=1时,值为1。

  • 第18题:

    下列程序的功能是:计算出启然数SIX和NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE的个数cnt,以及满足此条件的所有SIX与NINE的和sum。请编写函数countValue()实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件OUT51.DAT中。其中的S,I,X,N,I,N,E各代表一个十进制数。

    注意:部分源程序已给出。

    请勿改动主函数main()和写函数writeDAT()的内容。

    试题程序:

    include

    int cnt,sum;

    void CountValue()

    {

    }

    Void main()

    {

    Cnt=Sum=0;

    COUNtValUe();

    printf("满足条件的个数=%\n",cnt):

    printf("满足条件的所有的SIX与NINE的和=%d\n",sum);

    }

    WriteDAT();

    {

    FILE *fp;

    fp=fopen("OUT51.DAT", "w");

    fprintf(fp,"%d\n%d\n",cnt,sum);

    fclose(fp);

    }


    正确答案:void countValue() { int i=100; while(1) { if(3*i%2==0 && 3*i/2>1000 && 3*i/2=9999) /*如果满足条件SIX+SIX+SIX=NINE*NINE*/ { /*即一个3位数乘3再除2余数为0 且所得的数为4位数*/ cnt++; /*统计满足条件的数的个数*/ sum+=i+3*i/2; /*求满足此条件的所有SIX与NINE的和*/ i++; } else i++; /*如果不满足条什则取下一个数*/ if(i>999 || 3*i/2>9999) break; /*当SIX不为3位数时或所得的数不为四位数时退出循环*/ } }
    void countValue() { int i=100; while(1) { if(3*i%2==0 && 3*i/2>1000 && 3*i/2=9999) /*如果满足条件SIX+SIX+SIX=NINE*NINE*/ { /*即一个3位数乘3再除2余数为0, 且所得的数为4位数*/ cnt++; /*统计满足条件的数的个数*/ sum+=i+3*i/2; /*求满足此条件的所有SIX与NINE的和*/ i++; } else i++; /*如果不满足条什,则取下一个数*/ if(i>999 || 3*i/2>9999) break; /*当SIX不为3位数时或所得的数不为四位数时,退出循环*/ } } 解析:本题考查的知识点如下:
    (1)循环与判断的嵌套使用。
    (2)多条件的布尔运算。
    (3)“%”与“/”运算符的使用。
    根据题意,求的是满足3位数乘以3等于4位数乘以2的数的个数。我们可以使用循环结构对所有的3位数进行判断,若某个3位数乘以3整除2所得的数是4位整数,则这个3位数足满足条件的数。当判断的数不再是3位数或者进行处理后所得的数大于9999,则要退出循环。在这里,还要注意判断结构中,各条件之问是用“与”运算还是用“或”运算。

  • 第19题:

    请编写一个函数fun(),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)的平方和(规定n的值不大于100)。

    例如:主函数从键盘给输入n的值为56,则输出为 sum=1113。

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

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

    试题程序:

    include <stdio.h>

    long fun(int n)

    {

    }

    main()

    {

    int n;

    long sum;

    printf("Input n:");

    scanf("%d",&n);

    sum=fun(n);

    printf("sum=%ld\n",sum);

    }


    正确答案:long fun(int n) { int i; long s=0; for(i=2;i=n-1;i++) /*从2~n-1中找n的所有因子*/ if(n%i==0) s+=i*i; /*将所有因子求平方加*/ return s; /将平方和返回*/ }
    long fun(int n) { int i; long s=0; for(i=2;i=n-1;i++) /*从2~n-1中找n的所有因子*/ if(n%i==0) s+=i*i; /*将所有因子求平方加*/ return s; /将平方和返回*/ } 解析:本题的解题思路是用n逐个去除以2到n-1之间的所有数,如果n能被除尽,则把所得到的一个因子的平方累加到s中去。

  • 第20题:

    下列程序的功能是:计算出自然数SIX和NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE的个数 cnt,以及满足此条件的所有SIX与NINE的和sum。请编写函数countValue()实现程序要求,最后调用函数 writeDAT()把结果cnt和sam输出到文件OUT51.DAT中。其中的S,L X,N,I,N,E各代表一个十进制数。

    注意:部分源程序已给出。

    请勿改动主函数main()和写函数writeDAT()的内容。

    试题程序:

    include<stdio. h>

    int cnt, sum;

    void countValue()

    {

    }

    void main ()

    {

    cnt=sum=O;

    countValue ();

    printf ("满足条件的个数=%d\n", cnt);

    printf ("满足条件所有的SIX与NINE的和=%d\n", sum);

    writeDAT ();

    }

    writeDAT ( )

    {

    FILE *fp;

    fp=fopen("OUT51.DAT", "w");

    fprintf (fp, "%d\n%d\n", cnt, sum);

    fclose (fp);

    }


    正确答案:void countValue() { int i=100; while (1) { if(3*i%2==0 && 3'i/2>=1000 && 3'i/2=9999) /*如果满足条件SIX+SIX+SIX=NINE+NINE*/ { /*即一个3位数乘3再除2余数为0且所得的数为4位数*/ cnt++; /*统计满足条件的数的个数*/ sum+=i+3*i/2; /*求满足上条件的所有SIX与NINE的和*/ i++; } else i++; /*如果果不满足条件则取下一个数*/ if(i>999 II 3'i/2>9999) break; /*当SIXP不为3位数或所得的数不为四位数时退出循环*/ } } }
    void countValue() { int i=100; while (1) { if(3*i%2==0 && 3'i/2>=1000 && 3'i/2=9999) /*如果满足条件SIX+SIX+SIX=NINE+NINE*/ { /*即一个3位数乘3再除2余数为0,且所得的数为4位数*/ cnt++; /*统计满足条件的数的个数*/ sum+=i+3*i/2; /*求满足上条件的所有SIX与NINE的和*/ i++; } else i++; /*如果果不满足条件,则取下一个数*/ if(i>999 II 3'i/2>9999) break; /*当SIXP不为3位数或所得的数不为四位数时,退出循环*/ } } } 解析:本题二查的知识点如下:
    (1)循环与判断的嵌套使用。
    (2)多条件的布尔运算。
    (3)“%”与“/”运算符的使用。
    根据题意,求的是满足3位数乘以3等于4位数乘以2的数的个数。我们可以使用循环结构对所有的3位数进行判断,若某个3位数乘以3整除2所得的数是4位整数,则这个3位数是满足条件的数。当判断的数不再是3位数或者进行处理后所得的数大于9999,则要退出循环。在这里,还要注意判断结构中,各条件之间是用“与”运算还是用“或”运算。

  • 第21题:

    有一个单元格Cn(n指个数),要求其左边所有单元格之和,请输入()。

    A=SUM(C1:Cn)

    B=SUM(A1:Bn)

    C=SUM(An:Bn)

    D=SUM(A1:Cn)


    C

  • 第22题:

    数据结构与算法里,计算完数和,有累加器名为sum,应如何赋初值()

    • A、sum=0
    • B、sum==0
    • C、sum+=0;
    • D、sum=1;

    正确答案:A

  • 第23题:

    问答题
    请编写函数fun(),该函数的功能是:计算并输出给定整数n的所有因子(不包括1和自身)之和。规定n的值不大于1000。例如,在主函数中从键盘给n输入的值为856,则输出为:sum=763。  注意:部分源程序给出如下。  请勿改动主函数main()和其他函数中的任何内容,仅在fun()函数的花括号中填入所编写的若干语句。  试题程序如下:/**********code.c**********/#include int fun(int n){}void main(){ int n,sum; printf(Input n: ); scanf(%d,&n); sum=fun(n); printf(sum=%d,sum);}

    正确答案:

    int fun(int n)
    {
    int s=0,i;
    for(i=2;i<=n-1;i++)
    if(n%i==0)
    s+=i;
    return s;
    }
    解析:

      本题的设计思路是:①遍历从2到n-1的所有整数;②用条件语句找出能被n整除的整数i,并累加求和;③用return语句返回因子的和。

  • 第24题:

    单选题
    判断完数的算法,需要求因子之和,若累加器为sum,则sum应该赋初值为()
    A

    sum=0;

    B

    sum=i;

    C

    sum=1;

    D

    sum=sum;


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