📄 19992.htm
字号:
* i + 1) * i);<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 31.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">}<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 31.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">printf(″s(%f) = %f\n″, x, s);<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">}<O:P> </O:P></SPAN></P> <P class=MsoNormal><SPAN style="mso-hansi-font-family: Times New Roman">【程序2.<SPAN lang=EN-US>2说明】<O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN style="mso-hansi-font-family: Times New Roman">本程序中有函数<SPAN lang=EN-US>rep(char *s, char *sl, char *s2),其形参字符串sl和s2有相同的字符个数,且sl中各字符互不相同。该函数实现将已知字符串s中所有在字符串sl中也出现的字符都用字符串s2中的对应位置的字符代替。例如:设字符串s、sl和s2分别为:<O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">s[ ] = ″ABCABC″, sl[ ] = ″AC″, s2[ ] = ″ZX″<O:P> </O:P></SPAN></P> <P class=MsoNormal><SPAN style="mso-hansi-font-family: Times New Roman">则<SPAN lang=EN-US>s2中的字符Z和X分别对应sl中的字符A和C,函数调用rep(s, sl, s2)将字符串s的内容变为″ZBXZBX″。<O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal><SPAN style="mso-hansi-font-family: Times New Roman">【程序2.2】<SPAN lang=EN-US><O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 10.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">#include <stdio.h><O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 10.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">void rep(char *s, char *sl, char *s2)<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 10.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">{ char *p;<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">for( ; s; s++) { /* 顺序考察s中的各个字符 */<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 36.75pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">for( ; s; s++; p &&<U>(3)</U>; p++); /* 找 *s是否在sl中出现 */<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 36.75pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">if ( <U>(4)</U> ) s = *(s2+ <U>(5)</U> ); /* 找到,用s2中的对应字符替代 */<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">}<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 10.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">}<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 10.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">main()<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 10.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">{ char s[] = ″ABCABC″;<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">rep(s, ″AC″, ″ZX″); printf(″%s\n″, s);<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 10.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">}<O:P> </O:P></SPAN></P> <P class=MsoNormal><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman"> <O:P> </O:P></SPAN></P> <P class=MsoNormal><SPAN style="mso-hansi-font-family: Times New Roman">试题 三<SPAN lang=EN-US><O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN style="mso-hansi-font-family: Times New Roman">阅读下列程序说明和C,将应填入<U>(<SPAN lang=EN-US>n)</SPAN></U>处的字句写在答卷的对应栏内。<SPAN lang=EN-US><O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal><SPAN style="mso-hansi-font-family: Times New Roman">【程序3说明】<SPAN lang=EN-US><O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN style="mso-hansi-font-family: Times New Roman">本程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。<SPAN lang=EN-US><O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN style="mso-hansi-font-family: Times New Roman">程序一边读入整数,一边构造一个从大到小顺序链接的链表,直至不能从键盘读入整数,然后顺序输出链表上各表元的整数值。主函数每读入一个整数,就调用函数<SPAN lang=EN-US>insert( ),函数insert( )将还未出现在链表上的整数按从大到小的顺序插入到链表中。<O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN style="mso-hansi-font-family: Times New Roman">为了插入方便,链表在表首有一个辅助表元。<SPAN lang=EN-US><O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal><SPAN style="mso-hansi-font-family: Times New Roman">【程序3】<SPAN lang=EN-US><O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 31.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">#include <stdio.h><O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 31.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">#include <malloc.h><O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 31.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">typedef struct node { int val;<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 147pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">struct node *next;<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 136.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">} NODE;<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 31.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">void insert(NODE *list, int x)<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 31.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">{ NODE *u, *v, *p;<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 42pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">u = list; v = u->next;<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 42pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">while (<U>(1)</U>&& x < v->val) /* 寻找插入位置 */<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 42pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">{ u = v; v = v->next; }<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 42pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">if (v == NULL || <U>(2)</U>) { /* 判是否要插入新表元 */<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 57.75pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">p = (NODE *)malloc(sizeof(NODE)); P->val = x;<B style="mso-bidi-font-weight: normal"> </B>/* 生成新表元 */<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 57.75pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman; mso-spacerun: yes"> </SPAN><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman"><U>(3)</U> = v; <U>(4)</U> = p; /* 插入新表元 */<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 42pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">}<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 31.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">}<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 31.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">main( )<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 31.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">{ int x;<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 42pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">NODE *head, *p;<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 42pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">/* 首先建立只有辅助表元的空链表 */<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 42pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">head = (NODE *)malloc(sizeof(NODE));<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 42pt"><U><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman; mso-spacerun: yes"> </SPAN><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">(5)</SPAN></U><SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'"> = NULL;<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 42pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">printf(″Enter integers: \n″);<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 42pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">while (scanf(″%d″, &x) == 1) /* 反复读入整数插入链表 */<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 63pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">insert(head, x);<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 42pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">for(p =head->next; p !=NULL; p=p->next)<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 57.75pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">printf(″%d\t″, p->val);<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 42pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">printf(″\n\n″);<O:P> </O:P></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 31.5pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman">}<O:P> </O:P></SPAN></P> <P class=MsoNormal><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman"> <O:P> </O:P></SPAN></P> <P class=MsoNormal><SPAN style="mso-hansi-font-family: Times New Roman">试题 四<SPAN lang=EN-US><O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN style="mso-hansi-font-family: Times New Roman">阅读下列程序说明和C代码,将应填入<U><SPAN lang=EN-US> (n) </SPAN></U>处的字句写在答卷的对应栏内。<SPAN lang=EN-US><O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal><SPAN style="mso-hansi-font-family: Times New Roman">【程序4说明】<SPAN lang=EN-US><O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN style="mso-hansi-font-family: Times New Roman">本程序对给定的<SPAN lang=EN-US>n(n≤100),计算并输出k!(k = 1, 2, …, n)的全部有效数字,因k!的值可能很大,故采用一维数组存储计算结果。设数组的每个元素存储k!的一位数字,并约定从低位到高位依次存于数组的第一个位置、第二个位置、……。例如,5!= 120,在数组a中的存储形式为:<O:P> </O:P></SPAN></SPAN></P> <P class=MsoNormal style="TEXT-INDENT: 21pt"><SPAN lang=EN-US style="mso-hansi-font-family: Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN>a[2] a[1] a[0]<O:P> </O:P></SPAN></P> <TABLE style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN-LEFT: 94.65pt; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-table-layout-alt: fixed; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt" cellSpacing=0 cellPadding=0 border=1> <TBODY> <TR style="HEIGHT: 14.1pt"> <TD style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 25.35pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 14.1pt"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -