从键盘输入若干个数,当输入0时结束输入,求这些数的和以及平均值。 提示:设输入的数存放在x中,sum表示和,n表示读入数的个数,则求若干个数的和,就是对x进行累加,即sum=sum+x,其中sum的初值为0。如果读入个数n大于0,则输出sum、sum/n。 要求:采用while与if结构语句实现。
第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);}
第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)
{
}
第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进行递归调用,并返回n和n-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
第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);}
第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)
}
}
第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
第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