当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级C语言上机操作题及答案(79)
发布时间:2011/7/22 10:14:37 来源:城市学习网 编辑:ziteng
  第一题
  请输入fun函数,该函数的功能是把数组aa中的偶数元素按原来的先后顺序放在原数组后面。
  例如,输入“45,55,62,42,35,52,78,95,66,73”,则结果输出“45,55,35,95,73,62,42,52,78,66”。
  请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所写的若干表达式或语句。#include
  #define  N 10
  void fun(int  aa[])
  {
  int  i, j = 0, k = 0;
  int  bb[N];
  for (i=0; i              if (___1___)
  bb[k++] = aa[i];
  else
  aa[j++] = aa[i];
  for (i=0; ___2___; i++, j++)
  aa[j] = bb[i];
  }
  main()
  {
  int  i;
  int  aa[N] = {45, 55, 62, 42, 35, 52, 78, 95, 66, 73};
  printf("\n******** original list ***********\n");
  for (i=0; i              printf("M", aa[i]);
  fun(aa);
  printf("\n******** new list ***********\n");
  for (i=0; i              printf("M", aa[i]);
  }
  第一题答案:
  第1处填空:aa[i]%2==0或0==aa[i]%2或aa[i]%2
  第2处填空:ii [NextPage]  第二题
  下列给定程序中函数fun的功能是:删除字符串s中的所有空白字符(包括Tab字符、回车符)。输入字符串时用“#”结束输入。
  请该正程序中的错误,使它能得出正确的结果。
  注意:不要改动main函数,不得增行或删行,也不得改动程序的结构!
  #include
  #include
  #include
  void fun(char  *p)
  {
  int  i, t;
  char  c[80];
  for (i=0, t=0; p[i]; i++)
  if (!isspace(*(p+i)))
  c[t++] = p[i];
  /********found********/
  c[t] = "\0";
  strcpy(p, c);
  }
  main()
  {
  char  c, s[80];
  int  i = 0;
  printf("Input a string: ");
  c = getchar();
  while (c != '#')
  {
  s[i] = c;
  i++;
  c = getchar();
  }
  s[i] = '\0';
  fun(s);
  puts(s);
  }
  第二题答案:
  第1处:c[t]=”\0”;应改为c[t]=’\0’;
  [NextPage]   第三题
  已知学生的记录有学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。已给出函数的首部,请完成该函数。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
  #include
  #include
  #include
  #define N 10
  typedef struct ss
  {
  char num[10];
  int s;
  } STU;
  void fun( STU a[], STU *s)
  {
  }
  main()
  {
  STU a[N]={ {"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},
  {"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71} }, m ;
  int  i;
  FILE  *out;
  printf("**** The original data *****\n");
  for(i=0;i              printf("N0=%s Mark=%d\n", a[i].num,a[i].s);
  fun( a,&m);
  printf("***** THE RESULT *****\n");
  printf(" The lowest : %s ,%d\n", m.num, m.s);
  out=fopen ("out.dat", "w");
  fprintf(out, "%s\n%d", m.num, m.s);
  fclose (out );
  }
  第三题答案:
  void fun(STU a[],STU*s)
  {
  int i,min;
  min=a[0].s;
  for(i=0;iif(a[i].s{
  min=a[i].s;
  *s=a[i];
  }
  }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved