使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数sum(int n)计算在n范围内,能被7和11整除的所有整数的和(包括n在内)。
注意:不能修改程序的其他部分,只能补充sum()函数。
1 #include< iostream.h >
2 double sum(int n)
3 {
4
5 }
6 void main()
7 {
8 cout< < sum(80)< < end1;
9 cout< < sum(200)< < end1;
10 cout< < sum(300)< < end1;
11 return;
12 }
【正确答案】1 int result=0;
2 for(int i=11;i< =n;i++)
3 {
4 if((i%7==0)&&(i%11==0))
5 {
6 result+=i;
7 }
8 }
9 return result;
【答案解析】函数sum(int n)的功能是实现计算在n范围内,能被7和11整除的所有整数的和(包括n在内),可采用循环的方式从11开始到n逐个寻找能被7和11整除的数,如果能同时被7和11整除则加到累加变量中。
(1)利用循环查找能所有小于等于n的能被7和11整除的数,循环变量i从最小值11开始,到n结束,即11< =i< =n。
(2)在函数中定义累加变量result用来保存求和结果,在循环体内,逐个判断每个i是否能被7和11整除,即(i%7==0)和(i%11==0)都满足的话,说明i能同时被7和11整除,将该值加到result上,循环结束返回result。