C 语言机试模拟试题
一、改错题:(30 分)
1、求一维数组 a 中的值为偶数的元素之和。
#include <stdio.h>
sum ( int arr[ ],int n )
{ int i,s;
s = 0;
for ( i=0; i<n; i++)
if (arr[i] % 2 == 0)
/************found************/
s=s+i;改为:s = s + arr[i];
return (s);
}
void main()
{ int a[10]={10,4,2,7,3,12,5,34,5,9},i,s;
/************found************/
s = sum( a ,2 ); 改为:s = sum( a ,10 );
printf("The result is: %d", s);
}
2、求一维数组 a 中的值为奇数的元素之和。
#include <conio.h>
#include <stdio.h>
int sum( int b[ ],int n )
{ int i,s = 0;
for ( i=0; i<n; i++)
if (b[i] % 2 == 1)
/************found************/
s = s + b[i] 改为:s = s + b[i];
return (s);
}
void main()
{ int a[12]={10,4,2,7,3,12,5,34,5,9,21,19},n;
/************found************/
n = sum(a,2); 改为:n = sum( a ,12 );
printf("The result is :%d",n );
}
3、求二维数组 a 中的最大值和最小值。
#include <stdio.h>
void main()
{ int a[3][3]={4,4,34,37,3,12,5,6,5},i,j,max,min;
//clrscr();
max = min = a[0][0];
for ( i=0; i<3; i++)
/************found************/