首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 二级考试 >

3月份计算机二级C语言上机练习题及答案(5)

2013-03-30 

  第一题:填空题 数组xx[N]保存着一组3位数的无符号正整数,其元素的个数通过变量num传入funn函数。请补充fun函数,该函数的功能是:从数组xx中找出个位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由fun函数返回。

  例如:当xx[8]={123,231,232,222,424,333,141,544}时,bb[5]={232,222,424,333,141}。

  请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。

  #include

  #include

  #define N 1000

  int fun(int xx[], int bb[], int num)

  {

  int i, n = 0;

  int g, b;

  for (i=0; i

  {

  g = ___1___;

  b = xx[i]/100;

  if (g == b)

  ___2___;

  }

  return ___3___;

  }

  main()

  {

  int xx[8] = {123, 231, 232, 222, 424, 333, 141, 544};

  int yy[N];

  int num = 0, n = 0, i = 0;

  num = 8;

  printf("******original data *******\n ");

  for (i=0; i

  printf("%u ", xx[i]);

  printf("\n\n\n");

  n = fun(xx, yy, num);

  printf("\nyy= ");

  for (i=0; i

  printf("%u ", yy[i]);

  }

  第一题答案

  1:(xx[1]%10)

  答案2:(bb[n++]=xx[1])

  答案3:(n)

  第二题:改错题 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。

  请改正程序中的错误,使它能得出正确的结果。

  注意:不要改动main函数,不得增行或减行,也不得更改程序的结构!

  #include

  #include

  #define N 20

  /********found********/

  void fun(int *a, int n);

  {

  int i, m, t, k;

  for (i=0; i<2; i++)

  {

  /********found********/

  m=0;

  for (k=i+1; k

  if (a[k] > a[m])

  m = k;

  t = a[i];

  a[i] = a[m];

  a[m] = t;

  }

  }

  main()

  {

  int b[N] = {11, 5, 12, 0, 3, 6, 9, 7, 10, 8}, n = 10, i;

  for (i=0; i

  printf("%d ", b[i]);

  printf("\n");

  fun(b, n);

  for (i=0; i

  printf("%d ", b[i]);

  printf("\n");

  }

  第二题答案:

  第1处:void fun(int *a,int n);应改为void fun(int *a,int n)

  第2处:m=o;应改为 m=i;

  第三题:编程题 请编写一个函数void fun(char*ss),其功能是:将字符串ss中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

  例如,若输入abc4EFg,则应输入aBc4EFg.。

  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

  #include

  #include

  #include

  void fun(char *ss)

  {

  }

  void main( void )

  {

  char tt[51];

  FILE *out;

  printf("\nPlease enter an character string within 50 characters:\n" );

  gets( tt );

  printf("\n\nAfter changing, the string\n %s", tt );

  fun(tt) ;

  printf( "\nbecomes\n %s", tt );

  out=fopen ("out.dat", "w");

  strcpy(tt, "After changing, the string");

  fun(tt);

  fprintf(out, "%s", tt);

  fclose (out );

  }

  第三题答案:

  void fun(char *ss)

  {

  int i,n=0;

  char *p=ss;

  while(*p)

  {

  n++;

  p++;

  }

  for (i=0;i

  if((ss[i]>= ‘a’&& ss[i]<= ‘z’)&&i%2!=0)

  ss[i]=ss[i]-32;

  ss[i]= ‘\0’;

  }

更多关注:

3月份计算机一级考试微机知识预测整理汇总

2013年计算机等级考试一级微机考题预测汇总

计算机二级C语言上机题考前预测汇总

更多精彩请关注读书人网计算机频道!


热点排行