1、国家二级 C+机试(操作题)模拟试卷 172及答案与解析 一、基本操作题 1 下列给定程序中,函数 fun的功能是:在形参 s所指字符串中的每个数字字符之后插入一个 *号。例如,形参 s所指的字符串为 “det35adh3kjsdf7”,执行后结果为“det3*5*adh3*kjsdf7*”。 请在程序的中括号处填入正确的内容并将中括号删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #include void fun(char*s) int i, j, n; for(i=0; si!= 0; i+) *found* if(si=0
2、【 1】 sii; J-) *found* Sj+1=【 3】; Sj+1=*; i=i+1; main() char s60=“def35adh3kjsdf7“; printf(“ nThe original string is: s n“, s); fun(s); printf(“ nThe result is: s n“, s); 二、简单应用题 2 下列给定程序中函数 fun的功能是:在字符串的最前端加入 n个水号,形成新串,并且覆盖原串。 字符串的长度最长允许为 79。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件 NODII C中,不要改动 main函数,不得
3、增行或删行,也不得更改程序的结构 ! 试题程序: #include #include void fun(char s, int n) char a80, *p; int i; *found* s=p; for(i=0, i #include #include #include #define N10 typedef struct ss char num10; int s; STU; fun(STU a, STU*s) void main() FILE*wf; STU aN=“A01“, 81, “A02“, 89), “A03“, 66), “A04“, 87, “A05“,77), “A06“, 90), “A07“, 79), “A08“, 61), “A09“, 80), “A10“, 71,m; int i; system(“CLS“); printff(“*The original data* n“); for(i=0; isai s) *s=ai; 【试题解析】 找出结构体数组元素中的最小值。先认为第 1个值最小,即*s=a0;,如果在循环的过程中发现比第 1个值更小的,就将指针 s指向该元素,直到找到最 小元素。另外,本题还涉及结构体中的指向运算符,请考生注意。