niusouti.com

请补充main函数,该函数的功能是:求1+21+3!+…+N!的和。例如, 1+2!+3!+...+5!+6!的和为873。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>main ( ){int i, n;long s=0, t=l;clrscr ();printf ("\nInput n: \n");scanf ("%d",【 】);for (i=l; i<=n; i++){t=

题目

请补充main函数,该函数的功能是:求1+21+3!+…+N!的和。

例如, 1+2!+3!+...+5!+6!的和为873。

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

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

试题程序:

include <stdio.h>

main ( )

{

int i, n;

long s=0, t=l;

clrscr ();

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

scanf ("%d",【 】);

for (i=l; i<=n; i++)

{

t=【 】;

s=【 】;

}

printf ("1 ! +2 ! +3 !... +%d! =%ld\n", n, s);

}


相似考题
更多“请补充main函数,该函数的功能是:求1+21+3!+…+N!的和。 例如,1+2!+3!+...+5!+6!的和为873。 注意:部 ”相关问题
  • 第1题:

    请教计算机二级c语言考试题

    请补全main函数,该函数的功能是:

    求1+2!+3!+…+N!的和。

    1) main()

    2) {int i,n;

    3) long s=0,t=1;

    4) //clrscr();

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

    6) scanf("%d",___1___);

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

    8) {

    9) t=___2___;

    10) s=___3___;

    11) }

    12) printf("1!+2!+3!...+%d!=%ld\n",n,s);

    13) }


    你好
    答案为:
          第一处:&n
      第二处:t*i
      第三处:s+t
    1   n
    2   t*n
    3   s+t
    #include <stdio.h>

    int main()
    {
      int i = 0;
      int sum = 0;
      while(i<=100)
      {
        sum+=i;
        i++;
      }
      printf("1+2+...+100=%d\n",sum);
    }

  • 第2题:

    请编写函数proc(),它的功能是计算: s=(1n(1)4-1n(2)+In(3)4-…+1n(m))0.5 在C语言中可调用log(n)函数求1n(n)。 例如,若n1的值为30,则proc()函数值为8.640500。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序:


    正确答案:

    【解析】由题目中所给表达式可知,表达式的值为m项表达式的和然后开平方。可以首先通过m次循环求得m项表达式的和,然后将其和开平方并返回到主函数当中。

  • 第3题:

    请补充主函数main(),该函数的功能是:把从键盘输人的3个整数按从小到大输出。 例如,输入“506040”,结果输出“405060”。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在横线上填人所编写的若干表达式或语句。 试题程序:


    正确答案:
    【1】x>y【2】x>z【3】y>z【解析】由程序最后的输出可知变量x中存放3个整数中最小的,变量2中存放3个整数中最大的。当x大于y时,变量x和y互换,因此,【1】处填x>y。当x大于2时,变量x和z互换,因此,【2】处填x>z。当y大于z时,变量y和z互换,因此’【3】处填y>z。

  • 第4题:

    请补充函数proc,函数proc的功能是求7的阶乘。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。 试题程序: include<stdio.h> long proc(int n) { if( 【1】 ) return(n*proc( 【2】 ); else if(【3】) return l; } void main { int k=7: printf("%d!=%ld\n",k,proc(k)); }


    正确答案:
    【l】n>1【2】n-1【3】n= =1
    【解析】本题求阶乘是由函数递归调用来实现的。阶乘公式为N!=N*(N-1)!,因此【l】处填“n>1”;由递归的性质可知【2】处填“n-1”;直到N=1时结束递归调用,因此【3】处填“n= =l”。

  • 第5题:

    请补充fun()函数,fun()函数的功能是求n的阶乘。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在fun()函数的横线上填入所编写的若干表达式或语句。 试题程序:


    正确答案:
    【1】n>1或1<n【2】n-1【3】1或11或lL
    【解析】此题应用的是递归算法,因为10!=1091,91=98!,8!=87!…依此类推,而1!=1,2!=21!=2,3!=32!=6…,依此可以推出101,递推算法表示为:n!=1(n=1或n=0)n!=11*(n=1)(n>1)