第一范文网 - 专业文章范例文档资料分享平台

2008试卷A参考答案

来源:用户分享 时间:2026/1/17 2:23:04 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

程序设计(2)

答:25 16

20 37 17 39

4、请写出下列程序的功能,以及当输入为“efghik”时的输出结果。 int main() { int i;

char str1[10], str2[10];

for ( i = 0; str1[ i ] != '\\0'; ++i )

str2[i] = str1[i] – ?a? + ?A? ;

str2[ i ] = ?\\0?; }

答:EFGHIK return 0;

cout << str2 << endl; cin >> str1;

5。写出下面函数的功能(要求写出函数的类型,函数的输入参数和返回值的含义) template T max(T x[], int n) { int i; T temp = x[0]; for(i=1; i

if(temp < x[i]) temp = x[i]; return temp; }

答:求一个有n个元素的T类型的数组中的最大元素

6。写出运行结果

struct studentT{ };

第 5 页 共 10页

char name[20]; int id; char score;

程序设计(2)

enum studentInfoT{NAME, ID, SCORE} ;

void foo(studentT *p, int num, studentInfoT item); int main() {

studentT *p; }

void foo(studentT *p, int num, studentInfoT item) { } 答:B 105

switch(item){

case NAME: cout<

cout<

studentT group[5]={{\ {\

p = group+1; foo(p, 1, SCORE); p++;

foo(p, p->id-101, ID);

7。有以下程序:

int main(int argc,char * argv[]) { int i, len = 0;

for(i=1; i

经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行: ex abcd efg h3 k44

执行后输出结果是什么? 答:6

第 6 页 共 10页

程序设计(2)

8。写出运行结果

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,5,1,9,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 << fun(a, 10) << endl; cout << fun(b, 10) << endl; }

答:5 9.9

三。程序填空(每空1分,共20分)

1、 完成下面程序,使得程序输出结果为: a=45 b=56

void swap(_int &x, int &y _) {

int tmp;

tmp = x ; x = y ; y = tmp ; } int main () {

int a = 56, b = 45;

swap( a, b );

cout << \ b = \ return 0; }

第 7 页 共 10页

程序设计(2)

2、 求 1 + 1/1!+1/2!+1/3!+?+1/20! #include using namespace std; int main()

{ double e = 1 ; double t = 1 ; int n;

for (n=1; n <=20 ; n++) { t = t / n ;

e += 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; // 下界结点的下标 int high = n-1 ; // 上界结点的下标 int mid; // 中间结点的下标

while ( low <= high ) {

mid = (low + high) / 2 ; if ( A[mid] == key ) return mid ; else if ( key < A[mid] ) high = mid - 1 ;

else low = mid + 1 ; }

Return -1 ;

}

4。下面的程序是实现一个猜硬币的游戏。计算机扔硬币后让用户猜正反面,用户输入0或

者1分别表示正面(HEAD)或者反面(TAIL)。每次用户猜后,计算机给出判断是否正确,游戏采用三局两胜制判断最终胜负。请补充完整所缺语句,每空一条语句。 char GetAGuess();

第 8 页 共 10页

搜索更多关于: 2008试卷A参考答案 的文档
2008试卷A参考答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8wa4f255om9d31q9oedf_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top