niusouti.com

编一个程序,从键盘输入数据n,求从1至n的自然数的和。

题目

编一个程序,从键盘输入数据n,求从1至n的自然数的和。


相似考题
参考答案和解析
程序代码如下:SET TALK OFFCLEARINPUT 'N=' TO NS=0FOR I=1 TO N INPUT 'A=' TO A S=S+AENDFOR? 'S='SSET TALK ON 程序代码如下:SET TALK OFFCLEARINPUT 'N=' TO NS=0FOR I=1 TO N INPUT 'A=' TO A S=S+AENDFOR? 'S=',SSET TALK ON
更多“编一个程序,从键盘输入数据n,求从1至n的自然数的和。”相关问题
  • 第1题:

    (11)在窗体上画一个名为 Command1 的命令按钮,然后编写如下程序:

    Private Sub Command1_Click( )

    Dim i As Integer

    Sum=0

    n=InputBox("Enter a number")

    n=Val(n)

    For i=1 To n

    Sum= 【12】

    Next i

    Print Sum

    End Sub

    Function fun(t As Integer)As Long

    p=1

    For i=1 To t

    p=p*i

    Next i

    【13】

    End Function

    以上程序的功能是,计算 1!+2!+3!+?+n!,其中 n 从键盘输入,请填空。


    正确答案:

    (12)【答案】12.Sum+Fun(i)
                                 13.Fun=p
    【解析】在命令按钮中,要计算前n个数的乘法和【12】处填Sum+Fun(i).fun函数实现的是求一个数的阶乘,函数结束要返回计算,【13】处填fun=p

  • 第2题:

    下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。 Int n=0, ch; Ch=getchar( ); While( __________________ ) { if ( ________________ ) n++; c=getchar( ); }


    正确答案:
    ch!=’\n’ch>=’0’ch<=’9’

  • 第3题:

    下列Application程序输入一个整数,求出它的所有因子,请根据注释,将程序补充完整。

    public class test19_2 {

    public static void main(String args[])throws IOException {

    int n;

    //下面7行语句的作用是从键盘输入n的值

    InputStreamReader ir;

    BufferedReader in;

    ir=new lnputStreamReader(System.in);

    in=new BufferedReader(ir);

    System.out.println("Input n is:");

    String s=in.______;//读取1行字符

    n=Integer.parseInt(s);

    //下面求n的所有因子

    ______(int i=1;i<=n;i++) {

    if(n%i!=0)

    ______;//跳过打印语句回到循环起始

    System.out.print(i+””);

    }

    System.out.print(“\n”);

    }


    正确答案:readLine( ) for continue
    readLine( ) for continue

  • 第4题:

    若有如下程序: int sub(int m) { if(m==1||m==0) return 2; else return(sub(m-1)*sub(m-2));} main() { int n; scanf("%d",&n); printf("%d",sub(n)); } 如果从键盘输入4<回车>,则程序运行后的输出结果是( )。

    A.8

    B.16

    C.24

    D.32


    正确答案:D
    解析:本题的sub()函数是一个递归函数,当参数m为1或0时返回2,否则返回sub(m-1)*sub(m-2)。所以sub(4)递推下来就是sub(4)=sub(3)*sub(2)=sub(2)*sub(1)*sub(1)*sub(0)=sub(1)*sub(0)*2*2*2=25(上标)=32。所以正确答案是D。

  • 第5题:

    用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。


    正确答案:
    循环链表,用取余操作做

  • 第6题:

    下面是一个递归Java程序,其功能为 ( )long Factorial(int n){ if(1==n){ return 1; } else return n*Factorial(n-1);}

    A.求1-n的和

    B.求2到n的和

    C.求n的阶乘

    D.求2-n的积


    正确答案:C
    解析:该题考查的是递归调用。在Java中允许方法的递归调用,即允许方法调用自身。当算阶乘的时候最多的是用到递归调用,本题的功能是求n的阶乘。

  • 第7题:

    下列程序的作用是求所有小于或等于30的自然数对。该程序不完整,请补充完该程序(程序执行结果见下图)。

    注:自然数对是指两个自然数的和与差都是平方数(如8与17)。

    Private Sub Command1_Click()

    Dim n As Long

    Dim m As Long

    Dim s As Single

    Dim d As String

    For n=1 To 30

    For m=1 To【 】

    s =n+ m

    【 】

    If Sqr (s)=Int(Sqr(s))【 】Sqr(D)=Int(Sqr(D))Then

    Print n:m

    End lf

    Next m

    Next n

    End Sub


    正确答案:nd=n-m And
    n,d=n-m ,And

  • 第8题:

    本题利用递归方法求前n个自然数的和(n=10)。


    正确答案:
    第1处:int n
    第2处:return 1
    第3处:return n+add(n-1)
    【解析】递归方法是-种调用程序本身并采用栈结构的算法,第1处定义参数类型;第2处是递归初值;第3处为递归运算。

  • 第9题:

    编一个程序,用while循环语句,从键盘输入10个数,要求找出最大数和次大数。


    正确答案: inti=1,max=1,max1=1;
    ints;
    Console.WriteLine("请输入10个数:");
    while(i<=10)
    {
    s=int.Parse(Console.ReadLine());
    if(s>max)
    {
    max1=max;
    max=s;
    }
    elseif(s>max1)
    {
    s=max1;
    }
    i++;
    }
    Console.WriteLine("最大值为{0},次大值为{1}",max,max1);

  • 第10题:

    编一个程序,定义一个n行n列的二维数组,例如,n=4,输入该数组的全部数据。可以在定义数组时赋于常量值。求二维数组中这样元素的位置:它在行上是最小,在列上也是最小。


    正确答案: intn=4;
    int[,]a={{25,12,22,14},{15,16,17,18},{19,20,21,13},{23,24,11,26}};
    inti,j,k,temp,min;
    Console.Write("/n二维数组:");
    for(i=0;i{
    Console.Write("/n/t");
    for(j=0;j}
    Console.WriteLine("/n/n行列最小值");
    for(i=0;ifor(j=0;j{
    temp=a[i,j];
    min=temp;
    /*
    for(k=0;k{
    if(a[i,k]if(a[k,j]}
    */
    for(k=0;kif(a[i,k]for(k=0;kif(a[k,j]if(temp==min)Console.WriteLine("i={0},j={1}{2}",i,j,temp);
    }

  • 第11题:

    单选题
    SET TALK OFF CLEAR C=""零壹贰叁肆伍陆柒捌玖"" INPUT ""N="" TO N ? N,""-->""+ SUBSTR(C,2*N+1,2) SET TALK ON 程序的功能是()
    A

    从键盘输入一个数值(0~9),输出其对应的数字

    B

    从键盘输入一个数值(0~9),输出其对应的中文大写数字(零~玖)

    C

    从键盘输入一个中文大写数字(零~玖),输出其对应的数字(0~9)

    D

    从键盘输入一个中文大写数字(零~玖),输出其对应的中文大写数字(零~玖)


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

  • 第12题:

    问答题
    编一个程序,定义一个n行n列的二维数组,例如,n=4,输入该数组的全部数据。可以在定义数组时赋于常量值。求二维数组中这样元素的位置:它在行上是最小,在列上也是最小。

    正确答案: intn=4;
    int[,]a={{25,12,22,14},{15,16,17,18},{19,20,21,13},{23,24,11,26}};
    inti,j,k,temp,min;
    Console.Write("/n二维数组:");
    for(i=0;i{
    Console.Write("/n/t");
    for(j=0;j}
    Console.WriteLine("/n/n行列最小值");
    for(i=0;ifor(j=0;j{
    temp=a[i,j];
    min=temp;
    /*
    for(k=0;k{
    if(a[i,k]if(a[k,j]}
    */
    for(k=0;kif(a[i,k]for(k=0;kif(a[k,j]if(temp==min)Console.WriteLine("i={0},j={1}{2}",i,j,temp);
    }
    解析: 暂无解析

  • 第13题:

    有下列程序段: int n,t=1,s=0; scanf("%d",&n); do{s=s+t;t=t-2;}while(t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是( )。

    A.4,4

    B.2,2

    C.4,5

    D.2,4


    正确答案:D
    解析: 首先定义了一个指向一维数组b的指针p,一个指向指针p的指针变量q,输出*(p++)是先输出*p即b[0]的值,再将指针p指向数组的下一个元素b[1],输出**q是输出指针p所指单元的内容,即b[1]的值。

  • 第14题:

    请补充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”。

  • 第15题:

    编写程序,求从键盘输入的N个数据的总和。


    正确答案:程序代码如下: SET TALK OFF CLEAR INPUT "N=" TO N S=0 FOR I=1 TO N INPUT "A=" TO A S=S+A ENDFOR ? "S="S SET TALK ON
    程序代码如下: SET TALK OFF CLEAR INPUT "N=" TO N S=0 FOR I=1 TO N INPUT "A=" TO A S=S+A ENDFOR ? "S=",S SET TALK ON

  • 第16题:

    有如下程序: 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。

  • 第17题:

    下面程序的功能是从键盘输入—个大于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。

  • 第18题:

    在窗体上画一个名为Commandl的命令按钮,然后编写如下程序:

    Private Sub Conunandl_Click()

    Dim i As Integer

    Sum=0

    n=InputBox(”晰a number”)

    n=Val(n)

    For i=1 T0 n

    Sum=【 】

    Nexti

    print Sum

    End Sub

    Function fun(t As Integer)As Long

    P=1

    For i=1 To t

    P=P*i

    Next i

    【 】

    End Function

    以上程序的功能是,计算1 1+2 1+3 1+…+n!,其中n从键盘输入,请填空。


    正确答案:sum+fun(i)fun=p
    sum+fun(i),fun=p 解析:在命令按钮中,要计算前n个数的乘方和,【】处填Sum+fun(i);fun函数实现的是求一个数的阶乘,函数结束要返回计算结果,【】处填fun=p。

  • 第19题:

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

    public class Sum{

    public static void main(String args[])

    {

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

    System.out.println("1~100的和:"+sum1(100));

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

    System.out.println("1~100的和:"+sum2(100));

    }

    static int suml(int n)

    {

    int result=0;

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

    ________________

    retrun result;

    }

    static int sum2(int n)

    {

    if(______________)

    return 1;

    else

    _____________

    }

    }


    正确答案:result+=i; n==1 return n+sum2(n-1);
    result+=i; n==1 return n+sum2(n-1); 解析:本题主要考查递归调用的算法及for循环语句的使用。解答本题的关键是热练掌握递归调用的算法及for循环语句的使用.在本题中,result+=i;语句的功能是累加求和,if(n==1)语句的功能是判断当n==1时,累加和为1,return n+sum2(n-1);语句的功能是递归调用sum2(int n)方法求和。

  • 第20题:

    编一个程序,用for循环语句,从键盘输入10个实数,分别求出它们中的正数之和,以及负数之和。


    正确答案: inti;
    doublesum1=0,sum2=0,x;
    for(i=1;i<=10;i++)
    {
    Console.Write("请输入一个实数:");
    x=double.Parse(Console.ReadLine());
    if(x>0)
    sum1+=x;
    else
    sum2+=x;
    }
    Console.WriteLine("正数之和:{0},负数之和:{1}",sum1,sum2);

  • 第21题:

    编一个程序,从键盘输入10个实数,存入一个数组,用冒泡法对这个数作升序排序。


    正确答案: inti,j,temp;
    constintn=10;
    int[]SortArray=newint[n];
    for(i=0;i{
    Console.Write("/n请输入一个数:");
    SortArray[i]=int.Parse(Console.ReadLine());
    }
    Console.Write("/n等待排序的数据序列为:");
    for(i=0;i{
    Console.Write("{0}",SortArray[i]);
    }
    for(i=n-1;i>=0;i--)
    {
    for(j=0;j<=i-1;j++)
    {
    if(SortArray[j]>SortArray[j+1])
    {
    temp=SortArray[j];
    SortArray[j]=SortArray[j+1];
    SortArray[j+1]=temp;
    }
    }
    }
    Console.Write("/n已经排序后的数据序列为:");
    for(i=0;i{
    Console.Write("{0}",SortArray[i]);
    }
    Console.WriteLine();

  • 第22题:

    SET TALK OFF CLEAR C=""零壹贰叁肆伍陆柒捌玖"" INPUT ""N="" TO N ? N,""-->""+ SUBSTR(C,2*N+1,2) SET TALK ON 程序的功能是()

    • A、从键盘输入一个数值(0~9),输出其对应的数字
    • B、从键盘输入一个数值(0~9),输出其对应的中文大写数字(零~玖)
    • C、从键盘输入一个中文大写数字(零~玖),输出其对应的数字(0~9)
    • D、从键盘输入一个中文大写数字(零~玖),输出其对应的中文大写数字(零~玖)

    正确答案:B

  • 第23题:

    问答题
    编一个程序,用while循环语句,从键盘输入10个数,要求找出最大数和次大数。

    正确答案: inti=1,max=1,max1=1;
    ints;
    Console.WriteLine("请输入10个数:");
    while(i<=10)
    {
    s=int.Parse(Console.ReadLine());
    if(s>max)
    {
    max1=max;
    max=s;
    }
    elseif(s>max1)
    {
    s=max1;
    }
    i++;
    }
    Console.WriteLine("最大值为{0},次大值为{1}",max,max1);
    解析: 暂无解析

  • 第24题:

    单选题
    一个求从1到正整数n之间所有正整数之和的单循环语句的时间复杂度为()。
    A

    O(1)

    B

    O(n)

    C

    O(n2

    D

    O(n3


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