从键盘输入若干个数,当输入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结构语句实现。

参考答案和解析
正确答案: 程序:
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
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。main(){int i,a[20],sun,counr;sum=count=0; for(i=0;i<20;i++) scanf("%d",); for(i=0;i<20;i++){ if(a[i]>0){coutnt++; sum+=();}}printf(“sum=%d,count=%d\n,sum,count);}


正确答案:&a[i]或a+i a[i]或*(a+i)
将输入的数据存入到数组a中,然后对其进行判断,如果大于0,count++,sum+=a[i]

第2题:

请编写两个函数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循环和函数嵌套解决一般问题的能力。注意最后将计算的值返回。

第3题:

●试题八

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

【说明】

下面的程序中定义了两个方法求自然数1~100的和。具体如下:int sum1(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 int 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)

【解析】此处为Java主函数的参数,是固定写法。Java程序的标准输出是调用System包的out对象的函数。循环累加。这是递归调用的结束条件。对n-1进行递归调用,并返回nn-1个整数和的和。

 

第4题:

编写程序:

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

第5题:

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

int sum ( int n ) {

if ( n==0 )

return 0;

else

return n+sum ( n-1 ) ;

}

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


正确答案:

第6题:

以下程序是从终端读入数据到数组中,统计其中正数的个数,并计算它们的和。请填空。main(){int i,a[20],sum,count;sum=count=【】;for(i=0; i<20;i++)scanf("%d",【】);for(i=0; i<20;i++) { if(a[i]>0) { count++; sum+=【】; } }printf("sum=%d.count=%d\n",sum,count);}


正确答案:0
&a[i]
a[i]
首先将和值和个数值赋值为0,将输入的数赋给数组,计算数组元素中大于0的数的和值。

第7题:

阅读以下说明和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个整数和的和。

第8题:

从键盘上输入10个数,求其平均值。 main {inti; float f,sum; for(i=1,sum=0.0;i<11;i++) {__________ ; __________ ; } printf(“average=%f\n”,sum/10); }


正确答案:

scanf(“%f”,&f); sum+=f;

第9题:

下面程序的输出结果是( )。 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。

第10题:

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

【程序】

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变量。

更多相关问题