第34章 第35章 第36章 第37章 第38章 第39章 第40章
}
case 'p': cout << \ default : cout << \ }
default : cout << \end: ; }
第41章 6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。
解答:
#include
void main() { int m,i = 2;
cout << \ cin >> m; while( i<=m )
if( m % i == 0 )
{ cout << i << \ m = m / i; }
else i++; }
?(xn?a/xn)/2(n?0,1,2,?;x0?a/2)第42章 7.使用迭代公式xn?1方根。
解答:略。
编程序求某一正整数的平
第43章 8.已知X=0,10,20,?,180,求sinx,cosx和tgx的值。
解答:略。
第44章 9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。
解答:
#include
void main() { int i;
for( i=100; i<=200; i++ ) {
if ( ( i % 3 == 2) && ( i % 5 == 3 ) && ( i % 7 == 2 ) ) cout << i << endl; }
???? 11
}
第45章 10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。
解答:略。
第46章 11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。
解答:
#include
void main() { int i,j,s;
333
for( i=1; i<=1000; i++ )
{ s = 0;
for( j=1; j
if ( i % j == 0 ) s = s + j; if ( i == s ) cout << i << endl; } }
第47章 12.编一程序显示如下图案:
*
* * * * * * * *
* * * * * * * * * * * * * * * *
解答:
#include
void main() { int i,j,k;
for( i=1; i<=5; i++ )
{ for( k=1; k<=5-i; k++ ) cout << \ for( j=1; j<=2*i-1; j++ ) cout << \ cout << endl; } }
第48章 13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z。 解答:略。
12
第3章 函 数
3.1 选择题
1.以下正确的函数原型为( d )。
(a) f( int x; int y ); (b) void f( x, y ); (c) void f( int x, y ); (d) void f( int, int );
2.有函数原型 void fun1( int ); 下面选项中,不正确的调用是( c )。 (a) double x = 2.17 ; fun1( x ); (b) int a = 15 ; fun1( a*3.14 ) ; (c) int b = 100 ; fun1( & b ); (d) fun1( 256 );
3.有函数原型 void fun2( int * ); 下面选项中,正确的调用是( c )。 (a) double x = 2.17 ; fun2( &x ); (b) int a = 15 ; fun2( a*3.14 ); (c) int b = 100 ; fun2( &b ); (d) fun2( 256 );
4.有函数原型 void fun3( int & ); 下面选项中,正确的调用是( c )。 (a) int x = 2.17; fun3( &x ); (b) int a = 15; fun3( a*3.14 ); (c) int b = 100; fun3( b ); (d) fun3( 256 ) ;
5.有声明 int fun4( int ); int (*pf)(int) = fun4; 下面选项中,正确的调用是( c )。
(a) int a = 15 ;int n = fun4( &a ); (b) int a = 15; cout< 注意:选项(b)也可以调用函数fun4,但由于实参为浮点型表达式,VC6编译器将出现与形参类型不匹配的警告。 6.在VC中,若定义一个函数的返回类型为void,以下叙述正确的是( a,c )。 (a) 用语句调用函数 (b) 用表达式调用函数 (c) 没有返回值 (d) 通过return语句可以返回指定值 7.函数参数的默认值不允许为( c )。 (a) 全局常量 (b) 全局变量 (c) 局部变量 (d) 函数调用 8.使用重载函数编程序的目的是( a )。 (a) 使用相同的函数名调用功能相似的函数 (b) 共享程序代码 (c) 提高程序的运行速度 (d) 节省存贮空间 9.下列的描述中( b )是错误的。 13 (a) 使用全局变量可以从被调用函数中获取多个操作结果 (b) 局部变量可以初始化,若不初始化,则系统默认它的值为0 (c) 当函数调用完后,静态局部变量的值不会消失 (d) 全局变量若不初始化,则系统默认它的值为0 10.下列选项中,( c ,d )的具有文件作用域。 (a) 语句标号 (b) 局部变量 (c) 全局变量 (d) 静态全局变量 3.2 阅读下列程序,写出执行结果 1. #include #include for( i = 0; i < 3; i ++ ) cout << f( i ) << endl; } int f( int a ) { int b = 0 , c = 1; b ++; c++; return ( a + pow( b, 2 ) + c ); } 答案: 3 4 5 2. void func(int a, int b, int c = 3, int d = 4 ); #include { func( 10, 15, 20, 30 ); func( 10, 11, 12 ); func( 12, 12 ); } void func( int a, int b, int c, int d ) { cout << a << '\\t' << b << '\\t' << c << '\\t' << d << endl; } 答案: 10 15 20 30 10 11 12 4 14 12 12 3 4 3. #include void func( int, int, int * ) ; void main() { int x, y, z; func( 5, 6, &x ); func( 7, x, &y ); func( x, y, &z ); cout << x << \} void func( int a , int b , int *c ) { b += a ; *c = b – a ; } 答案: 6,6,6 4. #include void func( int, int, int & ); void main() { int x=0 , y=1 , z=2; func( 1 , 2 , x ); func( x + y , y , y ); func( z , x + y , z ); cout << x << \} void func( int a , int b , int &c ) { b += a ; c = b – a ; } 答案: 2,1,3 5. #include int f2( int, int ); int f1( int a , int b ) { int c ; a += a ; b += b ; c = f2( a + b , ++ b ); return c; } int f2( int a , int b ) { int c ; c = b % 2 ; return a + c; 15