当前位置:首页 > 南京信息工程大学C++期中试卷
4。写出运行结果
int fun(int *a, int size) {int max = 0, i;
for (i = 0; i < size; ++i) if (a[i] > a[max]) max = i; return max; }
double fun(double *a, int size) {double max = 0;
for (int i = 0; i < size; ++i) if (a[i] > max) max = a[i]; return max; } int main()
{ int a[] = {3,7,2, 9,1, 5 ,0,8,7,4};
double b[] = {3.3, 7.7, 9.9, 5.5, 4.4, 8.8, 1.1, 2.2, 0, 6.6};
cout << max(a, 10) << endl; cout << max(d, 10) << endl; }
3 9.9
三、程序填空
1、 完成下面程序,使得程序输出结果为: a=45 b=56
void swap(int *x,int *y_ _) {
int tmp;
Tmp=*x; ; *x=*y; ;
第 13 页 共6页
*y=tmp; ; } int main () {
int a = 56, b = 45;
swap( &a,&b );
cout << \ b = \ return 0; }
2、 求 1 + 1/1!+1/2!+1/3!+?+1/20! #include
{ double e = 1 ; double t = 1 ; int n;
for (n=1; n<=20 ; n++) { t=t*n; ;
e=e+1/t; ; }
cout << “1+1/1!+1/2!+1/3!+?+1/20!” << e << endl; return 0; }
3。完成二分查找程序:对一个有序数组,首先匹配中间位置的元素,如匹配成功,则返回该中间位置的下标值;
否则,如待查关键字大于中间元素,抛开前面的元素,从中间元素的下一元素到数组尾部范围重复以上匹配;如待查关键字小于中间元素,抛开后面的元素,从数组首部到中间元素的前一元素范围重复以上匹配;如果查找失败,则返回-1。
int BinarySearch( int A[], int key, int n ){
int low = 0; // 下界结点的下标
第 14 页 共6页
int high = n-1 ; // 上界结点的下标 int mid; // 中间结点的下标
while ( low Mid=(low+high)/2 ; if ( A[mid] == key ) return mid; ; else if ( key < A[mid] ) high=mid-1; ; else low=mid+1; ; } return -1; ; } 四、编程题(共20分) 1. 编程用如下的格式输出乘法九九表。 (5分) #include for(i=1;i<=9;i++) cout< 第 15 页 共6页 for(i=1;i<=9;i++) { cout< for(j=1;j<=9;j++) { if(j cout< else cout< 2。 已知一四位数 a2b3 能被23整除,编一程序求此四位数。(5分) #include void main() { int i,j; for(i=1;i<=9;i++) for(j=0;j<=9;j++) if ((a*1000+2*100+b*10+3)#= =0) cout< 第 16 页 共6页
共分享92篇相关文档