更多“按下列公式s(n)12+22……+n2编写计算并输出s值,其中的n值由键盘输入。”相关问题
  • 第1题:

    ( 6 ) 下面程序的功能是从键盘输入 1 大于 100 的整数 m ,计算并输出满足不等式

    1+22+32 +42 + …… .+n2<m

    的最大的 n 。请填空

    Private Sub Command1__Click ()

    Dim s ,m,n AS Integer

    m=Val ( InputBox ( “ 请输入一个大于 100 的整数 ” ))

    n=_________

    s=0

    Do While s<m

    n=n+1

    s=s+n*n

    Loop

    Print “ 满足不等式的最大 n 是_____

    End Sub


    正确答案:

  • 第2题:

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

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

    例如,若主函数从键盘给n输入8后,则输出为 S-0.662872。

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

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

    试题程序;

    include<stdio. h>

    double fun(int n)

    {

    }

    main ()

    {

    int n;

    double s;

    printf("\nInput 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=s+(1.0/(2*i-1)-1.0/(2*i)); /*计算S= (1-1/2) + (1/3-1/4) +…+ (1/(2n-1)-l/2n) */ return s; }
    double fun(int n) { int i; double s=0.0; for (i=1; i=n; i++) s=s+(1.0/(2*i-1)-1.0/(2*i)); /*计算S= (1-1/2) + (1/3-1/4) +…+ (1/(2n-1)-l/2n) */ return s; } 解析:本题中s=s+(1.0/(2*i-1)-1,O/(2*i));语句是用C程序去表达题目中的每一项,这是关键,其他问题不难理解。

  • 第3题:

    编写函数fun(),函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。

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

    例如:若n的值为11时,函数的值为1.833333。

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

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

    试题程序:

    include <conio.h>

    include <stdio.h>

    include <string.h>

    float fun(int n)

    {

    }

    main()

    {

    int n;

    float s;

    clrscr();

    printf("\nPlease enter N: ");

    scanf("%d",&n);

    s=fun(n);

    printf("The result is:%f\n " , s);

    }


    正确答案:float fun(int n) { int is1=0; float s=0.0; for(i=1;i<=n;i++) {s1=s1+i; /*求每一项的分母*/ s=s+1.0/s1; /*求多项式的值*/ } return s; }
    float fun(int n) { int i,s1=0; float s=0.0; for(i=1;i<=n;i++) {s1=s1+i; /*求每一项的分母*/ s=s+1.0/s1; /*求多项式的值*/ } return s; } 解析:本题中用s1来表示式中每一项的分母,而每一项的分母都是其前一项分母加项数。注意由于s1定义成一个整型,所以在s=s+1.0/s1中不能把1.0写成1。

  • 第4题:

    有如下程序: main() { int s=0, a=1,n; scanf("% d", &n); do { s+=1; a=a-2;} while(a!=n) printf("% d\n", s); } 若要使程序输出2,则应该从键盘输入的值是______。

    A.-1

    B.-3

    C.-5

    D.0


    正确答案:B
    解析:本题中如果printf函数输出为2,需要执行两次s+=1语句,第一次执行完循环语句后得s=1、a=1-2=-1,第二次执行完循环语句后得s=1+1=2、a=-1-2=-3,所以正确答案为-3。

  • 第5题:

    以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。

    define M 2

    define N 4

    void SumColumMin(int a[M][N],int *sum)

    { int i,j,k,s=0;

    for(i=0;i〈N;i++)

    { k=0;

    for(j=1;j<M;j++)

    if(a[k][i]>a[j][i])k=j;

    s+=【 】;

    }

    【 】 =s;

    }

    main( )

    { int x[M][N]={3,2,5,1,4,1,8,3},s;

    SumColumMin(【 】);

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

    }


    正确答案:a[k][i] *sum x[M][N]&s
    a[k][i] *sum x[M][N],&s 解析:本题中if(a[k][I] >a [j] [I]) k=j;把一列中值较小的一个元素的索引存储到k中,所以[18]填[k] [i],[19]填返回值,右值为整型,所以应该填。sum,SnmColumMin(  )函数第一个参数为数组a[M][N],第二个参数为一个整型指针,所以[20]填x[M][N],&s。

  • 第6题:

    有以下程序 main() { int s=0, a=1, n; scanf ( "%d", &n); do { s+=l; a=a-2; } while (a! =n); print f ( "%d\n" , s ); 若要使程序的输出值为2,则应该从键盘给n输入不敷出值是

    A.-1

    B.-3

    C.-5

    D.0


    正确答案:B
    解析:本题考核的知识点是do-while循环的简单应用。根据题目要求,最后要使输出的s值为2,在程序中改变s的值语句只有循环体中的s+=1;语句,而初始s的值为0,显然要使s的值变为2,该语句必须执行两次,即do-while循环中的循环体要执行两次,而在do-while中,首先不进行条件而执行do后面的循环体语句,然后在判断while循环条件。所以说不管循环判断条件是否为真s+=1;语句至少执行一次,根据分析,只需要while后面括号的循环判断表达式的值为真成立一次且只能为真一次,将四个选项中的内容依次代入该程序中不难得到只有n=-3刚好使循环判断条件a!=n为真一次.故4个选项中选项B符合题意。

  • 第7题:

    请编写函数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程序去表达题目中的每一项,这是关键,其他问题不难理解。

  • 第8题:

    请编写函数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项。

  • 第9题:

    请补充函数fun(),该函数的功能是:输出一个N×N矩阵,N由键盘输入,矩阵元素的值为随机数,并计算出该矩阵四周边元素的平均值,结果由函数返回。例如:当N=4时:

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

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

    试题程序;

    include<stdio.h>

    include<conio.h>

    include<stdlib.h>

    define N 20

    double fun(int a[ ][N],int n)

    {

    int i,j;

    int k;

    double s=0.0;

    double aver=0.0;

    printf("*****The array*****\n");

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

    {

    for(j=0;j<n;j++)

    {

    a[i][j]=rand()%10;

    printf("%4d",a[i][j]);

    if(【 】)

    s+=a[i][j];

    }

    printf("\n");

    }

    k=【 】;

    aver=【 】;

    return aver;

    }

    main( )

    {

    int a[N][N];

    int n;

    double S;

    Clrscr( );

    printf("*****Input the dimension Of array N*****\n");

    scanf(“%d”,&n);

    S=fun(a,n);

    printf(“***** THE RESULT *****\n”);

    printf(“The average is %2,3f\n”,S);

    }


    正确答案:i==0||i==n-1||j==0||j==n—1 4*n-4 s/k
    i==0||i==n-1||j==0||j==n—1 4*n-4 s/k 解析:第一空:用二维数组表示n×n矩阵时,周边元素是行下标为0或n-1,列下标为0或n-1的元素,判断时四个条件中只要有一个条件满足,则该元素就是周边元素,所以用“厂运算符。第二空:变量k记录周边元素的个数,在四个顶角上的元素会重复加入,所以要减去4。第三空:变量s保存周边元素的累加和,平均值等于周边元素的累加和除以个数。

  • 第10题:

    计算折绳受力的公式为S=Ki(Q)/n,其中Ki值是随()变化的。

    • A、角度
    • B、绳数
    • C、重量

    正确答案:A

  • 第11题:

    编写程序,利用公式:N2=1+3+5+……+(2N-1)计算N2的值,假设N=23。


    正确答案: DATASEGMENT
    N DW 23
    SQUARE DW ?;存放结果
    DATA ENDS
    CODESEGMENT
    ASSUME CS:CODE,DS:DATA
    START:
    MOV AX,DATA
    MOV DS,AX
    MOV CX,N;循环计数器置初值
    XOR AX,AX;累加器清零
    MOV BX,1;数列第一项
    ONE://
    ADD AX,BX
    ADD BX,2
    LOO PONE
    MOV SQUARE,AX
    MOV AX,4C00H
    INT 21H
    CODEENDS
    END START

  • 第12题:

    问答题
    编写程序,利用公式:N2=1+3+5+……+(2N-1)计算N2的值,假设N=23。

    正确答案: DATASEGMENT
    N DW 23
    SQUARE DW ?;存放结果
    DATA ENDS
    CODESEGMENT
    ASSUME CS:CODE,DS:DATA
    START:
    MOV AX,DATA
    MOV DS,AX
    MOV CX,N;循环计数器置初值
    XOR AX,AX;累加器清零
    MOV BX,1;数列第一项
    ONE://
    ADD AX,BX
    ADD BX,2
    LOO PONE
    MOV SQUARE,AX
    MOV AX,4C00H
    INT 21H
    CODEENDS
    END START
    解析: 暂无解析

  • 第13题:

    给定程序MODI1.C中函数fun的功能是:用下面的公式:

    π/4=1-1/3+1/5-1/7+.....

    求x的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:

    例如,程序运行后,输入0.0001,则程序输出3.1414。

    请改正程序中的错误,使它能输出正确的结果。_______

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

    include 〈 math.h 〉

    include 〈 stdio.h 〉

    float fun (float num)

    { int s ;

    float;n,t,pi ;

    t=1;pi=0;n=1;s=1;

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

    while(t 〉=num)

    {

    pi = pi + t ;

    n = n +2 ;

    s=-s ;

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

    t = s % n ;

    }

    pi=pi*4 ;

    return pi ;

    }

    main()

    { float n1,n2;

    printf("Enter a float number:");

    scanf("%f", &n1);

    n2=fun(n1);

    printf("%6.4f\n",n2);

    }


    正确答案:

    参考答案:(1)while(fabs(t)=num)
    (2)t=s
    n
    详细解答:(1)题干中要求进行循环的条件是绝对值小于某范围,可以调用C语言提供的取绝对值函数fabst取绝对值。所以将“while(t =num)”改为“while(fabs(t) =num)”
    (2)
    表达式sn中,n是浮点型,而%运算符只能用于整数运算,且要进行的是除法运算而不是求余运算。所以,第二个标识下“t=sn应该改为“t=sn

  • 第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题:

    有以下程序

    main( )

    { int s=0,a=1,n;

    scanf("%d",&n);

    do

    { s+=1; a=a-2; }

    while(a!=n);

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

    }

    若要使程序的输出值为2,则应该从键盘给n输入的值是

    A.-1

    B.-3

    C.-5

    D.0


    正确答案:B
    解析:本题考查了循环的执行,因s在程序中起一个计数变量的作用,即记录循环执行的次数,若循环执行  两次,a的值等于n时退出循环,即a减两次2后应等于n,可推算出n的值为-3。

  • 第16题:

    下面程序的功能是从键盘输入—个大于100的整数m,计算并输出满足不等式

    1+22+32+42+…+n2<m

    的最大的n。请填空。

    Private Sub Command1_Click()

    Dim s,m,n As Integer

    m=Val(InputBox("请输入一个大于100的整数"))

    n=【 】

    s=0

    Do While s<m

    n=n+1

    s=s+n*n

    Loop

    Print "满足不等式的最大n是";【 】

    End Sub


    正确答案:0 n-1
    0 , n-1 解析:Do While…Loop是先判断条件表达式的值是否为True,如果为True,则执行循环体,如果为False,则执行Loop后面的语句。由循环体可知该题的第1空应该填0。当循环条件不满足时跳出循环,此时的n是满足不等式1+22+32+42+…+n2>=m的最小的n,所以该题的第2空应该填n-1。

  • 第17题:

    执行以下的循环后输出的值为( )。 public class Sun { public static void main(String args[ ]) { int m=1000,s=0,n=0; do{ n=n+1; s=s+(int)Math.pow(2,n); }while(s<=m); System.out.println("n="+n+","+"s="+s); } }

    A.n=9,s=1000

    B.n=8,s=1022

    C.n=9,s=1022

    D.n=8,s=1000


    正确答案:C
    解析:本题考查对do-while循环的理解。本题完成的功能是求当20+21+22+…+2n最少需要多少项时才能满足大于数值m。m=1000,当程序运行到第8次时,循环测试条件仍然为真,所以继续执行1次,当执行到第9次时,s的值已经超过了1000。故本题答案是C。

  • 第18题:

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

    例如,在主函数中从键盘给n输入50后,输出为:s=1.718282。

    注意:要求n的值大于1但不大于100。部分源程序在文件PROGl.C中。

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


    正确答案:
    解析:该程序功能是计算并输出多项式值。根据题干中给出的数列,首先推出每一项的表达式,然后再对多项式进行累加求和。

  • 第19题:

    下列给定程序中,函数fun()的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。

    π/4≈1-1/3+1/5-1/7+…

    例如,程序运行后,输入0.0001,则程序输出3.1414。

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

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

    试题程序:

    include <math.h>

    include <stdio.h>

    float fun(float num)

    { int s;

    float n,t, pi;

    t=1 ;pi=0; n=1; s=1;

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

    while (t>=num)

    {

    pi=pi+ t;

    n=n+2;

    s=-s;

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

    t=s% n;

    }

    pi=pi*4;

    return pi;

    }

    main ()

    { float n1, n2;

    clrscr ();

    printf ("Enter a float number: ");

    scanf ("%f", &n1);

    n2=fun (n1);

    print f (" %6.4 f\n ", n2);

    }


    正确答案:(1)错误:while(t>=num) 正确:while (fabs(t)>=num) (2)错误;t=s %n; 正确:t=s/n;
    (1)错误:while(t>=num) 正确:while (fabs(t)>=num) (2)错误;t=s %n; 正确:t=s/n; 解析:函数fun()中while 语句的含义是,当新的一项大于给定参数时,循环累计,计算s的值。而题目要求是最后一项的绝对值小于给定参数,因此循环条件应当为while (fabs(t)>=num),而非while (t>=num)。

  • 第20题:

    请编写函数count Value(intn),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s, s作为函数返回值,最后结果S输出到文件out.dat中。 例如若n为1000时,函数值应为:s=153.909 064。


    正确答案:
    【审题关键句】同时被3和7整除的自然数和的平方根。
    【解题思路】
    ①定义循环整型变量i和双精度型变量sum,并将sum值设置为0.0。
    ②采用for循环语句,循环变量i从7开始依次递增直到其值等于或大于n,在循环体中,如果i除以3和7的得的余数同时为0,则说明这个数能同时被3和7整除,这时把这个数的值乘以1.0转化成实型数据,累加到变量sum上。
    ③退出循环后,调用求平方根的函数sqrt(sum),求得这些数的和的平方根赋给变量sum,把sum的值返回。
    【参考答案】

  • 第21题:

    要求编写一个主函数,计算并输出12+22+...+n2值,其中n值由键盘输入。


  • 第22题:

    按下列公式s(n)12+22……+n2编写计算并输出s值,其中的n值由键盘输入。


    正确答案: #include
    void main()
    {
    int x,i,s=0;
    for(i=1;i<=x;i++)
    s=s+i*i;
    printf(“s=%d”,s);
    }

  • 第23题:

    下面是一段关于计算变量s的算法: ①变量s的初值是0  ②变量i从1起循环到n,此时变量s的值由下面的式子表达式计算 ③s=s+(-1)*i ④输出变量s的值 这个计算s值的算法中,s的代数式表示是()。

    • A、1-2+3-4+…+(-1)n*(n-1)
    • B、1-2+3-4+…+(-1)n-1*n
    • C、1+2+3+4+...+(n-1)+n
    • D、-1-2-3-4-...-n

    正确答案:D

  • 第24题:

    问答题
    按下列公式s(n)12+22……+n2编写计算并输出s值,其中的n值由键盘输入。

    正确答案: #include
    void main()
    {
    int x,i,s=0;
    for(i=1;i<=x;i++)
    s=s+i*i;
    printf(“s=%d”,s);
    }
    解析: 暂无解析