文档介绍:C 语言上机试题 1-1: 给定程序中, 函数 fun 的功能是: 在带有头结点的单向链表中, 查找数据域中值为 chi 的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为 chg. 的结点,函数返回 0 值。第[1] 处:内容为[while(p!=0)] 第[2] 处:内容为[if (p->data==ch) return n;] 第[3] 处:内容为[k=fun(head,ch);] 1-2: 给定程序 modicum 中, 函数 fun 的功能是: 给定 n 个实数, 输出平均值,并统计在平均值以上(含平均值)的实际个数。例如, n=8 时输入: 、 、 、 、 、 、 、 所得平均值为: , 在平均值以上的实数个数应为: 5[ int j,c=0;double xa=;] ( c=0 后逗号改分号) [if (x[j]>=xa)] (大于等于错了) 1-3: 假定输入的字符串中只包含字母和* 号。请编写函数 fun ,它的功能是:除了字符串前导和尾部的* 号之外,将串中其它* 号全部删除。形参h 已指向字符串中第一个字母, 形参 p 已指向字符串中最后一个字母。在编写函数时,不得使用 C 语言提供的字符串函数。例如, 字符串中的内容为: ****A*BC*DEF*G******** , 删除后, 字符串中的内容应当是: ****ABCDEFG******** 。在编写函数时,不得使用C 语言提供的字符串函数。 char b[81],*x; int i=0,j=0; x=a; while (x<h) {b[j]=*x;x++;j++;} while (h<=p) if (*h!='*') {b[j]=*h;j++;h++;} else h++; p++; while (*p) {b[j]=*p;j++;p++;} b[j]='\0';j=0; while (b[j]) { a[i]=b[j];i++;j++;} a[i]='\0'; 2-1: 给定程序中, 函数 fun 的功能是: 统计出带有头结点的单向链表中结点的个数,存放在形参 n 所指的存储单元中。第[1] 处:内容为[(*n)=0;] 第[2] 处:内容为[p=p->next;] 第[3] 处:内容为[fun(head, &num);] 2-2: 给定程序 中, fun 函数的功能是:将 n 个无序整数从小到大排序。请改正程序中的错误,使它能得出正确结果。第[1] 处:内容为[for (i=j+1;i<n;i++)] 第[2] 处:内容为[p=i;] 2-3: 请编写一个函数 fun ,它的功能是:根据以下公式求π的值( 要求满足精度 , 即某项小于 时停止迭代): 程序运行后,如果输入精度 ,则程序输出为 。 double fun ( double eps) { double s=1,t=1./3; int n=1; while(t>=eps){ s+=t; n++; t=t*n/(*n+1); } return (s*); } 3-1: 给定程序中, 函数 fun 的功能是: 计算出带有头结点的单向链表中各结点数据域之和作为函数值返回。第[1] 处:内容为[s+= p->data;] 第[2] 处:内容为[p=p->next;] 第[3] 处:内容为[printf("\nsum=%d\n", fun(head));] 3-2: 给定程序 中,函数 fun 的功能是:按顺序给 s 所指数组中的元素赋予从 2 开始的偶数,然后再按顺序对每五个元素求一个平均值, 并将这些值依次存放在 w 所指的数组中,若s 所指数组中元素的个数不是 5 的倍数,多余部分忽略不计。例如,s 所指数组有 14 个元素, 则只对前 10 个元素进行处理, 不对最后的 4 个元素求平均值。第[1] 处:内容为[sum=;] 第[2] 处:内容为[if ((i+1)%5==0)] 3-3: 请编写一个函数 fun ,它的功能是:比较两个字符串的长度, (不得调用 C 语言提供的求字符串长度的函数), 函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如,输入 beijing <CR> shanghai <CR> ( <CR> 为回车键) 函数将返回 shanghai 。 char *fun ( char *s, char *t) { int i; char *p=s, *q=t; for(i=0;*