二、程序填空题(每空2分,共20分)1.下列程序是求100之内的能被7整除的自然数之和。请在横线处填入适当的语句,将程序补充完整。#includeiostream.hvoidmain(){intsum;_(1)_;for(inti=1;__(2)_;i++)if(_(3)_)sum+=i;coutsumendl;}答案:_sum=0_i=100_i%7==0__2下面程序的功能是计算xn。请在横线处填入适当的语句,将程序补充完整。#includeiostream.hvoidmain(){intn,x;cinxn;doubley=1;for(inti=1;__(1)_;i++)_(2)_;coutyendl;}答案:in_y=x*i3下面程序是输出100内能被3整除且个位数是6的所有整数。请在横线处填入适当的语句,将程序补充完整。#includeiostream.hvoidmain(){inti,j;for(i=0;(1);i++){j=i*10+6;if((2))continue;elsecoutjendl;}}答案:i10j%3!=04.下面程序运行后输出的结果为:****************请在横线处填入适当的语句,将程序补充完整。#includeiostream.h#includeiomanip.hvoidmain(){inti,j,k;for(i=1;i=4;i++){for(j=1;j20-3*i;(1))cout”“;for(k=1;(2);k++)coutsetw(3)”*”;(3);}}答案:j++k2*i-1coutendl5.下面程序运行后输出的结果为:1121123211234321请在横线处填入适当的语句,将程序补充完整。#includeiostream.h#includeiomanip.hvoidmain(){inti,j,k;for(i=1;i=4;i++){for(j=1;j20-3*i;j++)cout”“;for(k=1;(1);k++)coutsetw(3)k;for((2);k0;k--)coutsetw(3)k;coutendl;}}答案:k=ik=i-16.以下程序将数组中的元素按逆序存放。请在横线处填上适当的语句,将程序补充完整。#includeiostream.hvoidmain(){inta[12],i,j,t;for(i=0;i12;i++)cina[i];for(i=0;i6;i++){(1);(2);(3);}//数组元素交换for(i=0;i12;i++)couta[i];}答案:t=a[i]a[i]=a[11-i]a[11-i]=t7.下面程序功能是从键盘上输入10个整数,求出最大值、最小值和和。请在横线处填上适当的语句,将程序补充完整。#includeiostream.hvoidmain(){inta[10],i,min,max;for(i=0;i10;i++)cina[i];intsum=0;(1);for(i=1;i10;i++)if((2))min=a[i];if((3))max=a[i];(4);}coutminmaxsumendl;答案:min=max=a[0]a[i]mina[i]maxsum+=a[i]8.下面程序功能是将整型数组a中的10个元素用2种方法依次输出。请在横线处填上适当的语句,将程序补充完整。#includeiostream.hvoidmain(){inta[10]={1,2,3,4,5,6,7,8,9,10},i;int*p;for(i=0;i10;i++)cout_______(1)______________;//使用数组下标for((2);pa+10;p++)cout(3);//使用指针变量}答案:a[i]p=a*p9.以下程序的功能是输出:abcbcc请在有下划线处补充完整程序。#includeiostream.hvoidmain(){char*p=”abc”;for(;*p!='\0';(1))cout(2)endl;}答案:p++p10.编写程序求1+2+3+。。。+a和,请在有下划线处补充完整。#includeiostream.hvoidmain(){inta,b;intsum(intn);cout请输入a:endl;cina;(1);//计算1到a的累加和coutbendl;}intsum(intn){inti,k=0;for(i=1;i=n;i++)(2);;(3);}答案:b=sum(a)k+=i(或k=k+i)returnk11.编写程序求1!+2!+3!+4!+5!和,(其中求阶乘是用函数来实现的),请在有下划线处补充完整。#includeiostream.h________(1)__________;voidmain(){longs=0;for(inti=1;i=5;i++)____(2)__________;cout1!+2!+3!+4!+5!=sendl;}longintfac(intx){staticintb=1;b*=x;______(3)__________________;}答案:longintfac(intx)或longintfac(int)s+=fac(i)或s=s+fac(i)returnb12.编写程序是用递归算法求n!,请在有下划线处补充完整。#includeiostream.hintf1(inta);voidmain(){inta=6;cout(1)endl;}intf1(inta){return(a==O)?1:(2);}答案:fl(a)a*f1(a-1)13.在横线处填上适当语句,使程序输出结果为1。#includeiostream.hclassM{public:M(inti){x=i;}voidshow(){coutget();}private:intx;intget(){returnx;}};voidmain(){(1);//初始化类M的对象a(2);//调用对象a的成员函数}答案:Ma(1)a.show()