从键盘输入若干个数,当输入0时结束输入,求这些数的和以及平均值。 提示:设输入的数存放在x中,sum表示和,n表示读入数的个数,则求若干个数的和,就是对x进行累加,即sum=sum+x,其中sum的初值为0。如果读入个数n大于0,则输出sum、sum/n。 要求:采用while与if结构语句实现。
第1题:
请编写两个函数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)
{
}
第2题:
( 9 )下面的函数利用递归实现了求 1+2+3+ …… +n 的功能:
int sum ( int n ) {
if ( n==0 )
return 0;
else
return n+sum ( n-1 ) ;
}
在执行 sum ( 10 )的过程中,递归调用 sum 函数的次数是【 9 】 。
第3题:
编写程序:
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
第4题:
请编写一个函数fun(),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)之和(规定n的值不大于1000)。
例如:输入n的值为856,则输出为sum=763。
注意:部分源程序已存在文件test33_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数count的花括号中填写若干语句。
文件test33_2.cpp清单如下:
include<stdio. h>
include<iostream. h>
int fun(int n)
{
}
void main ( )
{
int n, sum;
cout<<"Input n:"<<end1;
cin>>n;
sum=fun (n);
cout<<" sum= \n"<<sum<<end1;
}
第5题:
下面程序段的输出结果是 public class Test{ public static void main(String args[]){ int n=5,sum=0; while(n>0){ sum+=n; --n; } System.out.println("sum is"+sum); } }
A.sum is 14
B.sum is 15
C.sum is 10
D.sum is 5
第6题:
请补充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);
}
第7题:
下列程序的输出结果是( )。 public class Test { public static void main (String[] args) { int n=5,sum=0; while (n>0) { sum+=n; --n; } System.out.println("Sum is"+sum); } }
A.sum is 14
B.sum is 15
C.sum is 10
D.sum is 5
第8题:
设存在函数 int sum(int,int)返回两个参数的和,若求20、45、100三个数的和,下列表达式不正确的是
【 】
A.int m=sum(20,45,100) ;
B.int m=sum(sum(20,45),100);
C.int m=sum(20,sum(45,100));
D.int m=sum(45,sum(20,100));
第9题:
试题1
下列程序的功能是:找出所有100以内(含100)满足i,i+4,i+10都是素数的整数i(i+10也在100以内)的个数cnt以及这些i之和sum。请编写函数countvalue()实现程序要求,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。
注意:部分源程序已给出。
请勿改动主函数main()和函数writeDAT()的内容。
试题程序:
#include <stdio.h>
int cnt, sum;
int isPrime(int number)
{
int i, tag = 1;
for (i=2; tag && i<=number/2; i++)
if (number%i == 0)
tag = 0;
return tag;
}
void countValue()
{
}
void writeDat()
{
FILE *fp;
fp = fopen("out.dat", "w");
fprintf(fp, "%d\n%d\n", cnt, sum);
fclose(fp);
}
void main()
{
cnt = sum = 0;
countValue();
printf("满足条件的整数的个数=%d\n", cnt);
printf("满足条件的整数的和值=%d\n", sum);
writeDat();
试题1答案:
void countvalue()
{
int i;
for(i=2;i<=90;i++)
if(isPrime(i) && isPrime(i+4) && isPrime(i+10))
{
cnt++;
sum+=i;
}
} }
试题1分析:
该程序属于按条件查找数字的题目,考核的知识点为:(1)素数的判定;(2)统计个数并求和。
本题的解题思路是:题目要求的筛选范围是“所有100以内(含100)满足i、i+4、i+10都是素数的整数i(i+10也在100以内)”,由于最小的素数是2,且i+10要在100以内(含100),所以筛选的范围是2~90。
题目要求的筛选条件是“满足i、i+4、i+10都是素数的整数i”。在答题之前,应先通读题目已给出的源程序,在我们要实现的函数countvalue()之前给出一个在题目中从未提及的函数isPrime()。仔细分析这个函数的代码不难发现,它实现了从2~number/2内寻找能整除number的数,如果找到就使变量tag为0,此时循环条件将不成了,最终返回0,如果找不到,变量tag为1,返回1.这段代码实现的是判断一个数是够是素数。所以在函数中对筛选条件可以简化为if(isPrime(i) && isPrime(i+4) && isPrime(i+10))。
程序的流程是:调用countvalue()函数对数据进行处理,最后由writeDAT()函数将结果写入文件out.dat中。
在countvalue()函数中,For循环的功能是判断i、i+4、i+10是否都为素数,若在素数则将i累加到sum中,同时个数cnt加1,函数结束。
第10题:
判断完数的算法,需要求因子之和,若累加器为sum,则sum应该赋初值为()
第11题:
第12题:
=SUM(C1:Cn)
=SUM(A1:Bn)
=SUM(An:Bn)
=SUM(A1:Cn)
第13题:
阅读以下说明和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)
}
}
第14题:
下面程序的输出结果是( )。 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
第15题:
【程序说明】程序功能是比较从键盘输入的若干个数的大小,并输出其中的最大和最小值。
【程序】
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
第16题:
下列程序的功能是:选出5000以下符合条件的自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些4位自然数的个数cnt及这些数的和sum。请编写函数countValue()实现程序的要求,最后调用函数wfiteDAT()把结果cnt和sum输出到文件OUT67.DAT中。
注意:部分源程序已给出。
请勿改动主函数main()和写函数writDAT()的内容。
试题程序:
include<stdio.h>
int cnt,sum;
void countValue()
{
}
void main()
{
cnt=sum=0;
countValue ();
printf ("满足条件的自然数的个数=%d\n", cnt);
printf ("满足条件的自然的值的和=%d\n", sum);
writeDAT ();
}
writeDAT ( )
{
FILE *fp;
fp=fopen ( "OUT67. DAT" , "w" );
fprintf (fp, "%d\n%d\n", cnt, sum);
fclose {fp);
}
第17题:
请编写一个函数inline long sum(int n),用递归函数完成运算:sum(n)=1*1+2*2+…n*n,递归表达式为 sum(n)=sum(n-1)+n2。
注意:部分源程序已存在文件test10_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。
文件test10_2.cpp的内容如下:
include<iostream.h>
inline long sum(int n)
{
}
void main()
{
int n;
cout<<"输入n:";
cin>>n;
cout<<"结果为:"<<sum(n)<<endl;
}
第18题:
下列程序的功能是:计算出启然数SIX和NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE的个数cnt,以及满足此条件的所有SIX与NINE的和sum。请编写函数countValue()实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件OUT51.DAT中。其中的S,I,X,N,I,N,E各代表一个十进制数。
注意:部分源程序已给出。
请勿改动主函数main()和写函数writeDAT()的内容。
试题程序:
include
int cnt,sum;
void CountValue()
{
}
Void main()
{
Cnt=Sum=0;
COUNtValUe();
printf("满足条件的个数=%\n",cnt):
printf("满足条件的所有的SIX与NINE的和=%d\n",sum);
}
WriteDAT();
{
FILE *fp;
fp=fopen("OUT51.DAT", "w");
fprintf(fp,"%d\n%d\n",cnt,sum);
fclose(fp);
}
第19题:
请编写一个函数fun(),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)的平方和(规定n的值不大于100)。
例如:主函数从键盘给输入n的值为56,则输出为 sum=1113。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <stdio.h>
long fun(int n)
{
}
main()
{
int n;
long sum;
printf("Input n:");
scanf("%d",&n);
sum=fun(n);
printf("sum=%ld\n",sum);
}
第20题:
下列程序的功能是:计算出自然数SIX和NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE的个数 cnt,以及满足此条件的所有SIX与NINE的和sum。请编写函数countValue()实现程序要求,最后调用函数 writeDAT()把结果cnt和sam输出到文件OUT51.DAT中。其中的S,L X,N,I,N,E各代表一个十进制数。
注意:部分源程序已给出。
请勿改动主函数main()和写函数writeDAT()的内容。
试题程序:
include<stdio. h>
int cnt, sum;
void countValue()
{
}
void main ()
{
cnt=sum=O;
countValue ();
printf ("满足条件的个数=%d\n", cnt);
printf ("满足条件所有的SIX与NINE的和=%d\n", sum);
writeDAT ();
}
writeDAT ( )
{
FILE *fp;
fp=fopen("OUT51.DAT", "w");
fprintf (fp, "%d\n%d\n", cnt, sum);
fclose (fp);
}
第21题:
有一个单元格Cn(n指个数),要求其左边所有单元格之和,请输入()。
A=SUM(C1:Cn)
B=SUM(A1:Bn)
C=SUM(An:Bn)
D=SUM(A1:Cn)
第22题:
数据结构与算法里,计算完数和,有累加器名为sum,应如何赋初值()
第23题:
第24题:
sum=0;
sum=i;
sum=1;
sum=sum;