相关题目
以下程序是选出能被3 整除且至少有一位是5的两位数, 打印出所有这样的数及其个数。 请选择填空。
sub(int k , int n )
( int a1 , a2 ;
a2 =( ) ;
a1= k -a2*10 ;
if ( ( k % 3 = = 0 &&a2 = = 5 )||( k % 3 = = 0 &&al = = 5 ) )
{ printf (“ % d” , k ) ; n + + ;
return n ;
}
else return -1 ;
}
main ( )
{ int n = 0 , k , m ;
for ( k = 10 ; k < = 99 ; k + + )
{ m = sub ( k , n ) ;
if ( m!=-1 ) n = m ;
}
printf ( “\nn = % d”, n ) ;
以下是有关汉诺塔问题的程序段, 若在main 函数中有调用语句hanoi ( 3 , ' A ' , ' B ' , ' C ' ) ; 则符合程序段运行结果的选项是( )。
void move ( char getone , char putone )
{ printf ( “%c 一一>% c \ n” , getone , putone ) ;}
void hanoi ( int n , char one , char two , char three )
{ if ( n==1 ) move ( one , three ) ;
else
{ hanoi ( n -1 , one , three , two ) ;
move ( one , three ) ;
hanoi ( n - 1 , two , one , three ) ; }
}
若用数组名作为函数调用的实参, 传递给形参的是( )。
已有以下数组定义和f 函数调用语句, 则在f 函数的说明中, 对形参数组array 的错误定义方式为( )。
int a [3] [4] ;
f ( a ) ;
若使用一维数组名作函数实参, 则以下正确的说法是( )。
折半查找法的思路是: 先确定待查元素的范围, 将其分成两半, 然后测试位于中间点元素的值。 如果该待查元素的值大于中间点元素,就缩小待查范围, 只测试中点之后的元素; 反之, 测试中点之前的元素, 测试方法同前。 函数binary 的作用是应用折半查找法从存有10个整数的a 数组中对关键m进行查找, 若找到, 返回其下标值; 反之, 返回-1 。 请选择填空。
binary ( int a[ 10 ] , int m )
{int low = 0 , high = 9 , mid ;
while ( low <=high )
{mid =(low + high ) / 2 ;
if(m < a [mid]) ( );
else if(m >a[ mid ] ) low=mid+1;
else return ( mid ) ;
}
return (-1 ) ;
}
以下正确的说法是( )。
如果在一个函数中的复合语句中定义了一个变量, 则该变量:
以下不正确的说法为( )。
以下程序的正确运行结果是( )。
# define MAX 10
int a[ MAX ] , i ;
main ( )
{ printf (“\n”) ; sub1( ) ; sub3( a ) ; sub2( ) ; sub3( a ) ; }
sub2 ( )
{ int a[MAX], i , max ;
max = 5 ;
for ( i = 0 ; i < max ; i + + ) a [ i ] =i ; }
sub1 ( )
{ for ( i = 0 ; i < MAX ; i + + ) a [ i ] = i + i ; }
sub3 ( int a[ ])
{ int i ;
for ( i = 0 ; i < MAX ; i + + ) printf ( “% d” , a [ i ] ) ;
printf (”\n”) ; }
以下程序的正确运行结果是( )。
# include
void num ( )
{ extern int x , y ; inta = 15 , b = 10 ; x = a -b ;
y =a + b ; }
int x , y ;
main ( )
{ int a = 7 , b = 5 ;
x =a +b ; y =a - b ; num ( ) ;
printf ( “ % d , % d\n”, x , y ) ; }
