该程序输出的第一行为 第二行为 ;第三行为 ___________________________________ 7. 阅读下列程序int fun1(int x,int y); void main() {
int k=4,m=1,p;
6 / 11
;
p=fun1(k,m); cout<
int fun1(int x,int y) {
static int m=0,i=2; i+=m+1; m=i+x+y; return m; }
该程序输出的第一行为
第二行为 ___________________________________
;
8. 阅读下列程序 ( 请注意 if 语句里面的符号 ) int num=4;
if(num=1) cout<< ”Alpha ”; else if(num=2) cout<< ”Bata”; else if(num=3) cout<< ”Gamma”; else cout<< ”Delta ”;
上面程序段的输出分别为 ______________________。
(四)完善程序题(每空 2 分;共 20 分。其中非电类做 1-3 ;电类做 1-2 和第 4 题)
1. 求出 1000 之内的“完数”。所谓“完数”;即这个数等于它的因子之和。例如: 6 是一个完数;即 6=1+2+3。要求每输出 4 个完数换一行。 #include void main() { int n=0,s;for(int i=1;i<=1000;i++) {;
for(int j=1;j<=i/2;j++)
if()
7 / 11
s+=j;
if( ) { cout<n++; if()
cout<<'\\n';
} } }
2、将 4~50 之间的所有偶数用两个素数之和表示。判断一个整数是否为素数用函数完成。
#include #includeusing namespace std; bool prime(int m){
if(m==1||m==0) return false; if(m==2) return true; int k=(int)sqrt(m); for(int i=2;i<=k;i++)//
if(m%i==0) ; if(i>k) ; else return false; }
int main() {
for(int n=4;n<=50;n+=2)
{
for(int i=2;i<=n/2;i++)
if(prime(i)&&prime(n-i))
cout<}return 0; }
穷举法
列出所有可能组合
8 / 11
3、 程序功能:输入三个整数 a、b、c;通过调用函数选出其中最大值;将该值输出。(本题限非电类同学完成;电类同学完成第 4 题) #include int max(int,int,int); void main( ){ int a,b,c;cout<< ”input a,b,c: ”<>a>>b>>c;cout<< ”a=”<int max(int x,int y,int z){ int m;if(x>=y&&x>=z) ; else if( ) m=y; else ;
;
}
4、下面为复数类;其中设计了类的加号运算符重载。 (本题限电类同学完成)
#include double Real,Image ; : ) {
}
void Print()
{cout<<\"Real=\"<9 / 11){//
重载 + ; }
, Image); }
return
/ 重载 +
void main(void) {
double d=0.5 ;
c3=c1+c2; c3.Print(); c4=c3+d; c4.Print(); }
(五)编程题(每题 10 分;共 20 分;非电同学完成 1 和 2;电类完成 1 和 3) 1、 用任意一种方法求出费波纳切数列的前
20 项并按每行 5 个数显示。 10 / 11
2、 设计求 n!的函数; n 的缺省值为 10。
3、编写一个矩形类;其中数据成员包括矩形的左上和右下点的坐标共 4 个数值;函数成员包括类的构造函数、 拷贝构造和打印函数 (打印类的数据);并编写一个函数以求出矩形的面积。 (本题限电类同学完成)
11 / 11