云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C09A试卷-中文

C09A试卷-中文

  • 62 次阅读
  • 3 次下载
  • 2025/5/31 12:41:11

int i, j;

for(p=s; *p; p++) { j=0; while (*p>=a[j] && a[j]!='\\0') j++; for(i=strlen(a); i>=j; i--) a[i+1] = a[i]; a[j]=*p; }

puts(a); return 0; }

3. 有一单向链表h如下图所示,表示整数序列(1,1,2,4,4,3,5,5,5,4)。

h 1 1 2 5 4 有关变量定义:

struct node { int info;

struct node *next; } *h, *p, *q;

现执行以下程序段,则输出的结果是:_______。 q=h;

if (h && h->next!=NULL) p=h->next; else return 0; while (p!=NULL) {

if (q->info!=p->info) {

q=p; p=p->next;

} else {

p=p->next; free(q->next); q->next=p; } } p=h;

while (p!=NULL) {

printf(\ p=p->next; }

4. 当输入:3 1 2 3 4 5 6 7 8 9 时,下列程序的输出是_______。

#include #define N 10

void mt(int *a,int n) {

int i, j, t;

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 5 / 8

for (i=0; i

t=*(a+i*N+j); *(a+i*N+j)=*(a+j*N+i); *(a+N*j+i)=t; }

return;

}

int main() { int a[N][N],n,i,j; scanf(\ for(i=0;i

scanf(\ mt(&a[0][0],n); for(i=0;i

printf(\ }

return 0; }

5. 当输入:5 3 2 6 5 8<回车>时,下列程序的输出为_______。

#include #include void main() {

int *p,flag,i,n,s; scanf(\

p= (int*)malloc(n*sizeof(int)); for(i=0;i

while (flag) {

for (i=1;i

if (s%*(p+i)!=0) {

s+=*p; break; }

if(i==n) flag = 0 ;

}

printf(\ free(p);

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 6 / 8

}

6. 当输入:100 5 125 18 121 6<回车> 时,下列程序的输出为_______。

#include

char *p = \void fun(int n, int m); void main() {

int n,m,i;

for(i=0; i<3; i++){

scanf(\ fun(n, m); printf(\ } }

void fun(int n, int m) {

if(n / m) fun(n/m,m); printf(\}

试题四、程序(段)填空题(每空2分,共20分)

1. 已知一个单向链表h。函数KthBackNode(h,k)查找链表h中倒数第k(k>0)个位置上的结点。

若查找成功,返回该结点的data域值,否则返回-1。该程序思路:指针p、q初始均指向第一个结点,p指针先沿链表移动,当与q指针相差k个结点时,p、q指针同步移动。 struct node {

int data;

struct node *next; };

int KthBackNode( struct node *h, int k ) /*h为表头指针*/ { ___(1)____; int count =0; p = q = h; while ( p!=NULL && countnext; ___(2)____;

}

while ( p!=NULL ) {

___(3)____; q = q->next;

}

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 7 / 8

if ( count < k ) return -1; return ___(4)____; }

2. 下列程序通过命令行参数方式(prog file1 file2)将两个文本文件中的两个从小到大的整数序列

合并为一个从小到大的序列。注:fscanf()函数返回值为读入的整数个数;end1和end2分别用于标记两个文件的整数是否读完(值1代表读完)。例如:

如果file1和file2文件中的内容分别为: 1 2 3 和 0 2 5 6,则输出为:0 1 2 2 3 5 6。 #include

int main(int argc, char *argv[]) {

___(5)____;

int n, m, end1=0,end2=0;

if (___(6)____) { printf(\ file1 file2\\n\exit(0); }

if ((fp1=fopen(argv[1], \ (___(7)____)) { printf(\exit(0); } if (fscanf(fp1, \ if (fscanf(fp2, \ while (___(8)____) if (n>m) { printf(\ if (fscanf(fp2, \ } else { printf(\ ___(9)____; } while (!end1) { printf(\ } while (!end2) {

printf(\ if (fscanf(fp2, \

} ___(10)____; /*关闭打开的文件*/ return 0;

}

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 8 / 8

搜索更多关于: C09A试卷-中文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

int i, j; for(p=s; *p; p++) { j=0; while (*p>=a[j] && a[j]!='\\0') j++; for(i=strlen(a); i>=j; i--) a[i+1] = a[i]; a[j]=*p; } puts(a); return 0; } 3. 有一单向链表h如下图所示,表示整数序列(1,1,2,4,4,3,5,5,5,4)。 h 1 1 2 5 4 有关变量定义: struct node { int info; struct node *next; } *h, *p, *q; 现执行以下程序段,则输出的结果是:_______。 q=h

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com