机考答题规范举例:(本例题为真题之第90套,复习时请不要忽略)
1 给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中有M个字符串,且串长<N
1  ss[i]      2  n+j      3    1
2 给定程序MODI1.C中函数fun的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。请改正程序中错误之处,使它能得出正确结果。
1  if(*p==' ')
2  *(p-1)=toupper(*(p-1));
3请编写函数fun对长度为7个字符的字符串,除首、尾字符外,将其余5个字符ASCII码降序排列。
char ch ;
  int i, j ;
  for(i=1; i<6;i++)
  for(j=i+1;j<6;j++)
{
if(*(s+i)<*(s+j))
{
      ch=*(s+j) ;
      *(s+j)= *(s +i) ;
      *(s+i)= ch ;
} }
答题方法:
1填空题例如程序中__1__,对应答案1,把__1__删除填入  ss[i]  ,三个空都填完(一般2-3个空)然后编译保存程序即可。
2改错题不同,把程序中与题库中不一样的地方改过来即可.。例如:
/**********found**********/
if(p==' ')
p前加对*号即 if(*p==' ') (一般2-3处错误)都改完编译保存程序即可。【注意答该题不得增行或删行】
3 程序设计题:把程序
char ch ;
  int i, j ;
  for(i = 1 ; i < 6 ; i++)
  for(j = i + 1 ; j < 6 ; j++)
{
if(*(s + i) < *(s + j))
{
      ch = *(s + j) ;
      *(s + j) = *(s +i) ;
      *(s + i) = ch ;
} }
直接写入考试编程程序中fun函数的两个
{
}
之间,然后编译、连接、执行按照上机课教的方法完成最后一步到黑运行窗口里面出现(press any ket to continue)即可。【写入程序时必须全部写入,标点符号也不能漏掉,并保证题中括号必须成对出现】
第一套
(一)序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun的功能是:将存放的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
1 struct student 2n-1 
3 a[i].name,a[j].name
(二)给定程序MODI1.C中函数fun的功能是:p所指字符串中出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
1  q=p+i;    2  while(q>p)
(三)学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:指定分数范围内的放在b所指的数组中,分数范围内的学生人数由函数值返回。
int i,j=0;
for(i=0;i<N;i++)
if(a[i].s>=l&&a[i].s<=h)
b[j++]=a[i];
return j;
第二套
(一)给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。函数fun的功能是:除链表中数据域值相同的结点,使之只保留一个。
1 q  2  next  3  next
(二) 给定程序MODI1.C中函数fun的功能是:选择法对数组中的n各元素按从小到大的顺序进行排序。
1  p=j;      2  p=i;
(三) 请编写一个fun函数,它的功能是:1m之间(含m)能被711整除的所有整数放在数组a中,通过n返回这些数的个数。
int i;
*n=0;
for(i=7;i<=m;i++)
if((i%7==0)||(i%11==0))
a[(*n)++]=i;
第三套
(一)函数fun的功能是:置数组元素是的值。例如:若a所指数组中的数据依次为:123456789,则逆置后依次为:987654321。形参n给出数组中数组中数据的个数。
1  n/2  2  i  3  a[n-i-1]
(二)给定程序MODI1.C中函数fun的功能是:一个由八进制数字字符串组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。
1  n=*p-'0';    2    n=n*8+*p-'0';
(三)学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:数返回指定学号的,指定的学生号在主函数中输入,若没有到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。
STREC c;
int i;
c.num[0]='\0';
c.s=-1;
for(i=0;i<N;i++)
if(strcmp(a[i].num,b)==0)
{strcpy(c.num,a[i].num);
c.s=a[i].s;break;}
return c;
第四套
(一) 给定程序中,函数fun的功能是:带有头结点的单向链表中,查数据域中值为ch的结点。到后通过函数值返回该结点在链表中所处的顺序号:若不存在值为ch的结点,函
数值返回0.
1  NULL  2  n    3  head,ch
() 给定程序MODI1.C中函数fun的功能是:p所指字符串的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用‘#’结束输入。
1. for(i=0,t=0;p[i];i++)
2. c[t]='\0';
(三)请编写一个函数fun,它的功能是:ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
int i;
for(i=1;i<strlen(ss);i+=2)
{if(ss[i]>='a'&&ss[i]<='z')
ss[i]-=32;}
第五套
1. 给定程序中,函数fun的功能是:字符串长度的方法算下式前n项的和作为函数值返回。例如:当形参n的值为10 的时,函数返回:9.6125588
(1) 0  (2)  n    (3)  (t*t)
2.  给定程序MODI1.C中函数fun的功能是:substr所指字符串在str所指字符串中出现伯次数。
(1)  for(i=0;str[i];i++) 
(2)  if(substr[k+1]=='\0')
3.  请编写一个函数fun,它的功能是:据以下公式求JI的值(要求满足精度0.0005,即某项小于0.0005时停止送代):程序运行后,如果输入精度为0.0005,则程序输出为3.14…。
double s=1.0,s1=1.0;
  int n=1;
  while(s1>=eps)       
    {s1=s1*n/(2*n+1);   
    s=s+s1;             
    n++;
    }
  return 2*s;
第六套
1.  给定程序中,函数fun的功能是:形参s所指定字符串中所有的字母字符顺序前移,其他字母顺序后移,处理后字符串的首地址作为函数值返回。
1  s[i]      2  k      3  0
2.  给定程序MODI1.C中函数fun的功能是:s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指定字符串,所形成的新串放在w所指的数组中。在此处,要求t1t2所指字符串的长度相同。
1 while(*w)
2 if(*r ==*p)
3. 函数fun的功能是:s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指定的数组中。
int i,j=0;
for(i=0;i<strlen(s);i++)
if(s[i]%2==0)t[j++]=s[i];
t[j]=0;
第七套
序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。函数fun的功能是:将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。1  struct student * 
2  a->score[i]        3  a
2.  给定程序MODI1.C中函数fun的功能是:N个字符串中出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放在一个字符串数组中。
1 char *fun(char (*sq)[M])
2  return sp;
3.  函数fun的功能是:ab中的两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。 *c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;
第八套
1.  函数fun的功能是:形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间元素不动。
1  1    2  i    3 a[p+i]
2.  给定程序MODI1.C中函数fun的功能是:主函数中输入的三个数,最大的放在a中,最小的放在c中,中间的放在b中。
1  float k;    2  if(*a<*c)
3. 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:分数最高的放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。
int i,max=a[0].s,n=0;
for(i=1;i<N;i++)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。