{ sn=sqrt(n); m=sn; k=3; f=0;
/***********FOUND***********/ while(k<=m&&f=0) {
/***********FOUND***********/ if(n%k==0) f=0;
/***********FOUND***********/ m++; }
/***********FOUND***********/ if (f) s=s+sn; }
cout<
答案:
1). while(k<=m&&f==0) 2). if(n%k==0) f=1; 3). k++;
4). if (!f) s=s+sn;} 或 if (f==0) s=s+sn;}
第18题
/*------------------------------------------------------ 【程序改错】
--------------------------------------------------------
题目: 一个数列的头三个数是0,0,1,第四个数是前三个数之和, 以后每个都是前三个数之和,问当该数列中的某个数值达 到10的15次方,它是该数列的第几项?
--------------------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------------*/
#include
/***********FOUND***********/ {float i,j,k,l,n; i=j=0;
k=1; n=3;
while(k<1e15) {n++; l=i+j+k;
/***********FOUND***********/ j = i;
/***********FOUND***********/ k = j;
/***********FOUND***********/ l=k; }
cout< 答案: 1). {double i,j,k,l,n; 2). i=j; 3). j=k; 4). k=l; 第19题 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 题目:类B是类A的友元类,程序的运行结果为: 20 10 -------------------------------------------------------- 注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------------*/ #include class A { private: int x; public: A(int a){x=a;} /***********FOUND***********/ class B; }; /***********FOUND***********/ friend B { private: int x; public: B(int a){x=a;} /***********FOUND***********/ void set(A &aa){x=A.x;} int get(){return x;} }; void main() { A a(10); B b(20); cout< /***********FOUND***********/ cout< 答案: 1). friend class B; 2). class B 3). void set(A &aa){x=aa.x;} 4). cout< ━━━━━━━━━━━━━━━━━ 二、程序设计 ━━━━━━━━━━━━━━━━━ 第1题 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 输入一组非0整数(以输入0作为输入结束标志)到一维数组中,设计一程序, 求出这一组数的平均数,并分别统计出这一组数中正数和负数的个数。 -------------------------------------------------- 注意:程序编写在下面的Promgram和End区域。 ------------------------------------------------*/ /**********Program**********/ #include void main() { int a[100],b[100],c[100]; int max2,max1,j=0,k=0,t; float avg,s=0; cout<<\请输入一组整数(o结束):\int i=0; do{ cin>>a[i]; s+=a[i]; i++; }while(a[i-1]); t=i-1; cout<<\共输入\个整数!\ for(i=0;i<=t;i++) if(a[i]>0)j++; else if(a[i]<0) k++; avg=s/t; cout<<\这组数的平均值为\ cout<<\其中输入的正整数个数为:\ cout<<\其中输入的负整数个数为:\} /********** End **********/ 第2题 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 用cin.getline()将一个字符串出入到字符数组中,按反序输出。 例如:输入\,则输出\。 -------------------------------------------------- 注意:程序编写在下面的Promgram和End区域。 ------------------------------------------------*/ /**********Program**********/ #include cout<<\反序后为:\ for(;i>=0;i--) cout< /********** End **********/ 第3题 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目:从键盘输入一组整数,以999结束。 要求:1. 写一符号函数实现判断一个整数的符号,正数返回1;负数返回-1;0返回0。 2. 在主函数中调用符号函数,统计正负数及0的个数,并输出。 ------------------------------------------------*/ 第4题 输 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 用cin.getline()将一个字符串输入到字符数组S(char S[200])中, 删除字符串中的所有空格后输出。 -------------------------------------------------- 注意:程序编写在下面的Promgram和End区域。 ------------------------------------------------*/ /**********Program**********/ #include void main(){ char s[200],t[200]; int i=0,j=0; cout<<\请输入字符串(回车结束):\ cin.getline(s,200); cout<<\ for(;i