一九九九年度梨园春擂主是谁|一九九九年度初级程序员级下午试题

计算机技术 2020-12-23 网络整理 可可

【shitiku.jxxyjl.com--计算机技术】

请按下述要求正确填写答卷,若不按下述要求解答,将不分数..joxue.
1.在答卷的指定位置填写你所在的省、自治区、直辖市、计划单列市的名称。..joxue.
2.在答卷的指定位置填写准考证编号、出生年月日和姓名。..joxue.
3.答卷上除填写上述内容外只能写解答。..joxue.
4.本试卷的4道试题都是必答题,请全部解答。..joxue.
5.解答时字迹务必清楚,字迹不清时,将不评分。..joxue.
6.仿照下面例题,将解答写在答卷的对应栏内。..joxue.
例题..joxue.
一九九九年度举行的计算机软件专业技术资格和水平考试的日期是2000年(1)月(2)日。..joxue.
因为正确的答案是4月16日,故在答卷的对应栏内写上‘4’和‘16’(参看下表)。 ..joxue.
例 题 解 答 栏 ..joxue.
(1) 4 ..joxue.
(2) 16 ..joxue.

试题 一..joxue.
阅读以下C代码,将应填入(n)处的字句写在答卷的对应栏内。..joxue.
【程序1.1】 ..joxue.
#include ..joxue.
main() ..joxue.
{ struct num{ int x; int y; ..joxue.
} sa[] = {{2, 32}, {8, 16}, {4, 48}; ..joxue.
struct num *p = sa+1; ..joxue.
int x; ..joxue.
x = p->y / sa[0].x * ++p->x; ..joxue.
printf(″x = %d p->x = %d\n″, x, p->x); ..joxue.
} ..joxue.
程序1.1的输出结果是(1) 。 ..joxue.
【程序1.2】 ..joxue.
#include ..joxue.
int p(int k, int a[]) ..joxue.
{ int m, i, c = 0; ..joxue.
for(m = 2; i <= m; i++) for(i=2; i <=m; i++) if (!(m % i)) break; if (i== m) a[c++]=m; } return c; } #define maxn 20 main() { int i, m, s[maxn]; m=p(13, s); for(i=0; i < m; i++) printf(″%4d\t″, s[i]); printf(″\n″); } 程序1.2的输出结果是(2) ;函数int p(int k, int a[])的功能是(3) 。 【程序1.3】 #include ..joxue.
void s(int a[], int n) ..joxue.
{ int i, j, t; ..joxue.
for(i = 0; i = 0 && t 6; i++) printf(″%4d\t″, c[i]); printf(″\n″); } 程序1.3的输出结果是(4) ;函数s(int a[], int n)的功能是(5) 。 ..joxue.
试题 二 ..joxue.
阅读下列程序说明和C代码,将应填入(n)处的字句写在答卷的对应栏内。 ..joxue.
【程序2.1说明】 ..joxue.
程序2.1求以下级数和的近似值,约定求和的精度为0.000001。 ..joxue.
x3 x5 x7 ..joxue.
s(x) = x – + - + …… ..joxue.
3*1! 5*2! 7*3! ..joxue.
【程序2.1】 ..joxue.
#include ..joxue.
#include ..joxue.
#define Epsilon 0.000001 ..joxue.
main() ..joxue.
{ int i; double s, x, t; ..joxue.
printf(″Enter x.\n″); scanf(″%1f″, &x); ..joxue.
s = 0.0; t = x; i = 0; ..joxue.
while (fabs(t) >= Epsilon) { ..joxue.
s =(1); i++; ..joxue.
t = -t * x * x * (2) /((2 * i + 1) * i); ..joxue.
} ..joxue.
printf(″s(%f) = %f\n″, x, s); ..joxue.
} ..joxue.
【程序2.2说明】 ..joxue.
本程序中有函数rep(char *s, char *sl, char *s2),其形参字符串sl和s2有相同的字符个数,且sl中各字..joxue.
符互不相同。该函数实现将已知字符串s中所有在字符串sl中也出现的字符都用字符串s2中的对应位置的字符代..joxue.
替。例如:设字符串s、sl和s2分别为: ..joxue.
s[ ] = ″ABCABC″, sl[ ] = ″AC″, s2[ ] = ″ZX″ ..joxue.
则s2中的字符Z和X分别对应sl中的字符A和C,函数调用rep(s, sl, s2)将字符串s的内容变为″ZBXZBX″。 ..joxue.
【程序2.2】 ..joxue.
#include ..joxue.
void rep(char *s, char *sl, char *s2) ..joxue.
{ char *p; ..joxue.
for( ; s; s++) { /* 顺序考察s中的各个字符 */ ..joxue.
for( ; s; s++; p &&(3); p++); /* 找 *s是否在sl中出现 */ ..joxue.
if ( (4) ) s = *(s2+ (5) ); /* 找到,用s2中的对应字符替代 */ ..joxue.
} ..joxue.
} ..joxue.
main() ..joxue.
{ char s[] = ″ABCABC″; ..joxue.
rep(s, ″AC″, ″ZX″); printf(″%s\n″, s); ..joxue.
} ..joxue.

试题 三 ..joxue.
阅读下列程序说明和C,将应填入(n)处的字句写在答卷的对应栏内。 ..joxue.
【程序3说明】 ..joxue.
本程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。 ..joxue.
程序一边读入整数,一边构造一个从大到小顺序链接的链表,直至不能从键盘读入整数,然后顺序输出链表上..joxue.
各表元的整数值。主函数每读入一个整数,就调用函数insert( ),函数insert( )将还未出现在链表上的整..joxue.
数按从大到小的顺序插入到链表中。 ..joxue.
为了插入方便,链表在表首有一个辅助表元。 ..joxue.
【程序3】 ..joxue.
#include ..joxue.
#include ..joxue.
typedef struct node { int val; ..joxue.
struct node *next; ..joxue.
} NODE; ..joxue.
void insert(NODE *list, int x) ..joxue.
{ NODE *u, *v, *p; ..joxue.
u = list; v = u->next; ..joxue.
while ((1)&& x val) /* 寻找插入位置 */ ..joxue.
{ u = v; v = v->next; } ..joxue.
if (v == NULL || (2)) { /* 判是否要插入新表元 */ ..joxue.
p = (NODE *)malloc(sizeof(NODE)); P->val = x; /* 生成新表元 */ ..joxue.
(3) = v; (4) = p; /* 插入新表元 */ ..joxue.
} ..joxue.
} ..joxue.
main( ) ..joxue.
{ int x; ..joxue.
NODE *head, *p; ..joxue.
/* 首先建立只有辅助表元的空链表 */ ..joxue.
head = (NODE *)malloc(sizeof(NODE)); ..joxue.
(5) = NULL; ..joxue.
printf(″Enter integers: \n″); ..joxue.
while (scanf(″%d″, &x) == 1) /* 反复读入整数插入链表 */ ..joxue.
insert(head, x); ..joxue.
for(p =head->next; p !=NULL; p=p->next) ..joxue.
printf(″%d\t″, p->val); ..joxue.
printf(″\n\n″); ..joxue.
} ..joxue.

试题 四 ..joxue.

阅读下列程序说明和C代码,将应填入 (n) 处的字句写在答卷的对应栏内。 ..joxue.
【程序4说明】 ..joxue.
本程序对给定的n(n≤100),计算并输出k!(k = 1, 2, …, n)的全部有效数字,因k!的值可能很大,故采用..joxue.
一维数组存储计算结果。设数组的每个元素存储k!的一位数字,并约定从低位到高位依次存于数组的第一个位..joxue.
置、第二个位置、……。例如,5!= 120,在数组a中的存储形式为: ..joxue.
a[2] a[1] a[0] ..joxue.

..joxue.
..joxue.

..joxue.
.....joxue.

..joxue.
..joxue.

..joxue.
1..joxue.

..joxue.
2..joxue.

..joxue.
0..joxue.

..joxue.

程序中,计算k!采用对已求得的(k-1)!的结果连续累加k-1次后求出。例如,4! = 24, 则计算5!对原来的24..joxue.
再累加4次24后得到120。为了控制累加的位数,另引入整型变量c用于记录当前(k-1)!的位数。 ..joxue.
【程序4】 ..joxue.
#include ..joxue.
#define MAXN 1000 ..joxue.
int a[MAXN], b[MAXN]; ..joxue.
void pnext( int k, int *cp)/* 已知a[ ]中的(k-1)!,求出k!存于a[ ].*/ ..joxue.
{ int c = *cp, i, m, r; ..joxue.
for(i = 0; i k; m++) /* 通过累加求k! */ for(i=0; i < c; i++) { r=(1) ; a[i]=r % 10; (2) +=r/10; } /* 处理最高位进位 */ r=a[c]; while (r>0) { a[ (3) ] = r%10; r = r/10; } ..joxue.
(4) = c; ..joxue.
} ..joxue.
void write(int *a, int k, int c) ..joxue.
{ int i; ..joxue.
printf(″%4d!=″, k); ..joxue.
for(i = (5) ; i >= 0; i--) printf(″%d″, a[i]); ..joxue.
printf(″\n\n″); ..joxue.
} ..joxue.
main() ..joxue.
{ int n, c, k ; ..joxue.
printf(″Enter the number n(<=100):″); scanf(″%d″, &n); a[0]=1; c=1; write(a, l, c); for(k=2; k <=n; k++) { pnext(k, &c); write(a, k, c); getchar(); } }


本文来源:https://shitiku.jxxyjl.com/jisuanjijishu/256.html

Copyright @ 2011- 考试题库网 All Rights Reserved. 版权所有

免责声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

 站长统计