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

当前位置:首页 > 江苏省计算机等级考试(二级C语言)考点分析

江苏省计算机等级考试(二级C语言)考点分析

  • 62 次阅读
  • 3 次下载
  • 2025/5/30 9:42:00

if(p1

{ t=*p1; p1=*p2; *p2=t; fun(p1+=2, p2-=2); } }

程序运行结果是 6 2 4 3 5 1 (9) 2004年春(P37-11) #include

void f(int a[], int n, int x, int *c); main()

{ int a[10]={1,3,5,2,3,5,3,7,4,1},t=0; f(a,10,5,&t); printf(“%d”,t); }

void f(int a[], int n, int x, int *c) { if(n==0) return; if(a[0]>=x) (*c)++; f(a+1,n-1,x,c); }

程序运行结果是 3

(10) 2004年秋(P52-14)

本例结合了二分法求方程的根。见“方程求根” (11) P68-14

本例结合了牛顿迭代法求方程的根。见“方程求根” 三、二维数组

(1) 2004年秋填空第12题(P51-12)

以下程序运行时输出结果的第一行是________,第二行是______,第三行是________。 #define N3 main()

{ int i,j,k=1,a[N][N]={0}; for(i=0;i

{for(j=0; j<=i; j++) a[j][i-j]=k++; } for(; i<2*N; i++)

{for(j=i+1-N; j<=N-1; j++) a[j][i-j]=k++; } for(i=0;i

{for(j=0; j

答案:1 2 4 3 5 7 6 8 9

(2) 2005年春填空第12题(P66-12)

以下程序运行时输出结果的第二行为______,第四行为______,第六行_______。 #include

void change(int s[3][3], int d) { int i,j,k; if(d==0)

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

for(j=i+1;j<3;j++) {k=s[i][j]; s[i][j]=s[j][i]; s[j][i]=k; } } else

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

for(j=0;j<3-i;j++) {k=s[i][j]; s[i][j]=s[2-j][2-i]; s[2-j][2-i]=k; } } main()

{ int s[3][3]={1,2,3,4,5,6,7,8,9},i,j,k,n; change(s,0); for(i=0; i<3; i++)

{ for(j=0;j<3;j++) printf(“M”,s[i][j]); printf(“\\n”); }

change(s,1); for(i=0; i<3; i++)

{ for(j=0;j<3;j++) printf(“M”,s[i][j]);

printf(“\\n”); } }

输出结果:2 5 8 9 8 7 3 2 1 四、链表应用

(1) 2003年秋填空第17题(P30-17) 设有一个线性单链表的结点定义如下: struct node { int d;

struct node *next; };

函数int copy_dellist(struct node *head, int x)的功能是:将head指向的单链表中存储的所有整数从小到大依次复制到x指向的整形数组中并撤消该链表;函数返回复制到x数组中的整数个数。算法:找出链表中数值最小的结点,将其值存储到x数组中,再将该结点从链表中删除,重复以上操作直到链表为空为止。

int copy_dellist(struct node *head, int x) {struct noe *pk, *pj, *pm, *pn; int data, k=0; while(head!=0)

{pk=head; data=pk->d; pn=pk; while(________!=0) { pj=pk->next;

if(_______d; pm=pk; pn=pj; } pk=pj; }

x[k++]=pn->d;

if(_________) pm->next=pn->next; else head=pn->next; free(pn); }

_____________;

}

答案:pk->next pj->d pn!=head return k (2) 2004年春填空第17题(P41-17) 设某链表上每个结点的数据结构为: typedef struct node { int d;

struct node *next; }NODE;

函数NODE *invert(NODE *head)的功能是:将head指向的单链表逆置,即原链表最后一个结点变为第一个结点,原来倒数第二个结点变成第二个结点,以此类推。在逆置过程中不建立新的链表。 NODE *invert(NODE *head) { NODE *p, *q, *r;

if(head==0||__________) return head; p=head; q=p->next; while(q!=0) { r=__________; q->next=p; p=q; q=r; }

__________=0; head=__________; return head; }

答案:head->next==0 q->next head->next p (3) 2004年秋填空第13题P51-13

以下程序运行时输出结果的第一行是________,第二行是________,第三行是_________。 #include #include typedef struct node

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

if(p1=x) (*c)++; f(a+1,n-1,x,c); } 程序运行结果是 3 (10) 2004年

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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