| 网站首页 | 自考 | 中考 | 高考 | MBA | 考研 | 成人高考 | 报关员 | 导游 | 司法 | 计算机 | 会计 | 英语 | 医学 | 小学 | 初中 | 高中 | 法律硕士 | 建筑工程 | 留言 | 
最新公告:     本站一直领先的专注于考试的网络媒体与服务平台,请大家互相支持!  [admin  2006年9月7日]        
 
您现在的位置: 试卷下载网 >> 计算机 >> 软件考试 >> 文章正文
 
 
 
最新推荐 更多内容
 
 
相关文章
2006年全国计算机等级考…
2005年笔试题二级java及…
思科认证考试(CCNA…
微软MCSE2003认证新增实…
2001年度网络设计师级上…
2001年度网络程序员级下…
2001年度初级程序员…
2003年度系统设计师(高…
2002年程序员上午试题及…
2001年度系统设计师(高程…
更多内容
2000年度初级程序员级下午试卷(1)           
2000年度初级程序员级下午试卷(1)
作者:佚名 文章来源:不详更新时间:2006-5-30 8:23:57
试题一 (15分)
阅读以下C代码,将应填人 __(n)__ 处的字句写在答卷的对应栏内。
[程序1.1]
#include <stdio.h>
void nextS(int *h, int *m, int *s)
{ if (++*s < 60) return;
*s = O;
if (++*m < 60) return;
*m = O;
*h = (*h + t) % 24;
}
void main 0
int hour = 23, minute = 59, second = 59;
nextS(&hour, &minute, &second);
printf("%d %d %d ", hour, minute, second);
程序1.1的输出结果是 __(1)__ 。

[程序1.2]
#include <stdio. h>
int digit( long n, int k )
{ while ( n != 0 && k-- > 1 )
n / = 10;
return n%lO;
}
main()
{ printf ( "%d,%d ",digit( 123456789L, 2 ), digit( 123.456789L, 9 ));
}
程序1.2的输出结果是 __(2)__ , __(3)__ 。

[程序1.3]
#include <stdio.h>
void s(int a[], int n)
{ int i, j, t, flg;
for(i = O; i < n-1; i++) {
for(flg = O, j = O; j < n-i-l: j++)
if(a[j] > a[j+l]) {
t = a[j]; a[j] = a[j+l]; a[j+i] = t;
fig = 1;
}
if (!fig) return;
}
)
void main( )
{ int i, cji= {15, 3, 8, 9, 6, 2};
s(c, 6);
for (i = O; i < 6; i++)
printf ("%4d ", c[i]);
printf (' ');
}
程序1.3的输出结果是 __(4)__ ;函数s(int[],int h)的功能是 __(5)__ 。

试题二 (15分)
阅读下列程序说明和 C 代码,将应填人 __(n)__ 处的字句写在答卷的对应栏内。
[程序 2 说明)
本程序从键盘输入 n(0<n<100) 个整数,计算并输出其中出现次数最多且数值最大的
元素及其出现次数。
[程序 2]
#include <stdio. h>
#define N 100
void main ( )
{ iht a[N] , n, i, j, ind, cl, c2;
do { printf(" 输入 n(O < n < lO0): ");
scanf ("%d", &n);
}while (n 4= 0 || __(1)__ )
printf (" 输人数组元素: ");
for(i = O; i < n; i++)
scanf ("%d", &a[i]);
for(c2 = i = O; i < n; i++) {
for(cl = 1, j = i+l; j < n; j++)
if(a[j] == a[i]) __(2)__ ;
if( __(3)__ I| cl == c2 && a[i] > a[ind]) {
c2 = cl; __(4)__
}
}
printf (" 其中%d出现%d次 ", a[ind], __(5)__ )
}

试题三 (15分)
阅读下列程序说明和 C 代码,将应填入 __(n)__ 处的字句写在答卷的对应栏内口
[程序3说明]
幼儿园有 n(<20) 个孩子围成一圈分糖果。老师先随机地发给每个孩子若干颗糖果,
然后按以下规则调整:每个孩子同时将自己手中的糖果分一半给坐在他右边的小朋友。如共
有 8 个孩子,则第 1 个将原有的一半分给第 2 个,第 2 个将原有的一半分给第3个,......,
第 8 个将原有的一半分给第 1 个,这样的平分动作同时进行。若平分前,某个孩子手中的糖
果是奇数颗,则必须从老师那里要一颗,使他的糖果数变成偶数。小孩人数和每个小孩的初
始糖果数由键盘输入。下面的程序可求出经过多少次上述这
  共3页: 1 [2] [3] 下一页   

样的调整,使每个孩子手中的糖
果—样多,调整结束时每个孩子有糖果多少颗,在调整过程中老师又新增发了多少颗糖果。
[程序3]
#include <stdio. h>
#define N 20
int allEqual (int a[ ], int n) /* 检查每个孩子手中的糖果是否一样多 */
{ iht i;
for(i = 1; i < n; i++)
if(a[O] != a[i]) return O;
return 1;
}
int a[N], b[N];
void main ( )
{ int i, n, addk, loopc;
printf("Enter n((20) "); scanf("%d", &n);
printf ("Enter data ");
for(i = O; i (n; i++) scanf("%d", &a[i]);
addk = O; __(l)__ ;
while ( __(2)__ ) { /* 平分循环 */
loopc++;
for ( i = O; i ( n; i++) { /* 为一次调整作准备 */
if(a[i]%2) { a[i]++; __(3)__ ;}
if (i < n-l) b[i+l] = a[i]/2; else __(4)__
a[i] /= 2;
}
for(i = O; i < n; i++) __(5)__ ; /* 完成一次调整 */
}
printf ("调整 %d 次 ",loopc);printf( "每个孩子有 %d 颗糖果 ", a[O]);
printf ("调整过程中新增发 %d 颗糖果。 ",addk);
}

试题四 (15分)
阅读下列程序说明和C代码,将应填人 __(n)__ 处的字句写在答卷的对应栏内。
[程序 4 说明]
本程序用于从键盘读人整数,插入到链表,·或从链表删除一个整数。
[程序 4]
#include <stdio. h>
#include <malloc. h>
typedef struct node { int val;
struct node *next;
} NODE;
NODE *ins(NODE ,list, iht x) /* 将 x 按从小到大的次序插入链表 */
{ NODE *u, *v = list, *p;
for(; v != NULL && x < v->val; u = v, v = v->next );/* 找插入位置 */
if (v != NULL && x == v->val) return list; /* 已有,被忽略 */
p = (NODE *)malloc(sizeof(NODE)); p->val = x; /* 生成新表元 */
if (v == list) list = p; else __(1)__ ;
__(2)__
return 1 ist;
}
NODE *del (NODE ,1 ist, int x) /* 从链表中删除值为 x 的表元 */
{ NODE *u, *v;
for(v = list; v != NULL && x < v->val; u = v, v = v->next)
if (v != NULL && x == v->val) { /* 找到值为 x 的表元 */
if(v == list) list = list->next; else __(3)__ ;
__(4)__ ; /* 释放空间 */
} else printf(" 没有找到! ");
return list;
}
void main( )
{ iht x, ans; NODE *list = NULL, .p;
while(l) {
printf(" 输入1:将整数插入到链表。 输入2:从链表删除一个整数。 ");
printf ("其它整数,结束程序。 请输人选择! "); scanf("%d", &ans);
if( __(5)__ ) return;
printf(" 输入整数 "); scanf ("%d", &x);
if(ans == 1) list = ins(list, x);
else list = del (list, x);
for(p=list; p!=NULL; p=p->next) printf(" %4d",
  共3页: 上一页 [1] 2 [3] 下一页   

p->val);
}
}

  共3页: 上一页 [1] [2] 3   

文章录入:admin    责任编辑:admin 
 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口

     
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |