C语言上机考试试卷:江苏省高校非计算机专业2009年秋.pdfVIP

  • 0
  • 0
  • 约2.45千字
  • 约 2页
  • 2026-03-16 发布于北京
  • 举报

C语言上机考试试卷:江苏省高校非计算机专业2009年秋.pdf

江苏省高等学校非计算机专业学生

计算机基础知识和应用能力等级考试上机试卷(2009年秋)

二级C语言(试卷代号C02)

(本试卷完成时间70分钟)

一、改错题(16分)

【程序功能】

函数dtoh实现将参数num的值表示为一个十六进制形式的字符串,并将该字符串

在一个动态申请的区内,函数返回动态区的起始地址。

【测试数据及运行结果】

输入:1234

输出:4d2

【含有错误的源程序】

#includestdio.h

#includestdlib.h

chardtoh(unsignednum)

{chardigits[]=0123456789abcdef;

char*s;intn=0;unsignedun=num;

while(un)

{n++;un/=16;}

s=(char*)malloc((n+1)*sizeof(char));

if(snull)

{printf(Memoryrequestfailed!\n);

exit(1);

}

s[n--]=\0;

while(num)

{s[n--]=digits[num/16];/*取一位十六进制数字字符*/

num/=16;

}

returns;

}

voidmain()

{char*p;unsignedn;

scanf(%u,n);

p=dtoh(n);

printf(%s,p);

free(p);getch();

}

【要求】

1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序

中的错误进行修改。

2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译

预处理命令,但不能增加其它语句,也不能删去整条语句。

3.改正后的源程序(文件名myf1.c)保存在T:盘根目录中供阅卷使用,否则不予评分。

二、编程题(24分)

【程序功能】

在给定的范围内查找并输出所有满足以下条件的整数对(a,b)及与(a,b)关联的反序数对

(c,d):(1)a小于b;(2)a和b的十进制表示均是三位数且各位上的数字互不相同;(3)a的

反序数(记作c)和b的反序数(记作d)也都是三位数并且ab等于cd。

例如,与整数对(302,406)关联的反序数对是(203,604),302406=203604,因此(302,406)

是满足上述条件的整数对。

【编程要求】

1.编写函数intfind(intx[][4],intm,intn)实现以下功能:若m和n的十进制表示不是三位

数则函数返回0。否则,将取值在[m,n]范围内所有满足上述条件的整数对以及与这些

整数对关联的反序数对保存到x指向的二维数组中,函数返回x数组中保存的数据行

数。

2.编写函数main实现以下功能:一个100行4列的二维数组a,用a数组作实参调

用find函数在[300,450]范围内查找,将找到的满足上述条件的整数对及关联的反序数

对保存到a数组。按以下格式将a数组中数据输出到屏幕及文件myf2.out中。最后将

考生准考证号输出到文件myf

文档评论(0)

1亿VIP精品文档

相关文档