当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级C语言上机操作题及答案(29)
发布时间:2011/7/8 11:38:33 来源:城市学习网 编辑:ziteng
  第29套
  填空题
  请补充fun函数,该函数的功能是求不超过给定自然数的各偶数之和。
  请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
  试题程序:#include <stdio.h>
  int fun(int x)
  {
  int  i, s;
  s = ___1___;
  for (i=2; ___2___; i+=2)
  s += i;
  return s;
  }
  main()
  {
  int n;
  do
  {
  printf("\nPlease enter natural numbers n:");
  scanf("%d", &n);
  } while (n <= 0);
  printf("\n2?3?1y???¨×?è?êy%dμ??÷??êy??oí?a%d\n", n, fun(n));
  }
  第1处填空:0
  第2处填空:i<=x或x>=i [NextPage]   改错题
  下列给定程序中,函数fun的功能是:求出两 个非0正整数的 最大公约数并作为函数值,
  例如num1 和um2分别输入49和21,则输出 的最大公约数为7,若给num1 和um2分别输入27和81,则最大公约数为27。
  请改正程序中的错误,使其能得出正确结果。
  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
  试题 程序:
  #include <stdio.h>
  int fun(int  a, int  b)
  {
  int  r, t;
  /********found********/
  if (a < b)
  {
  t = a;
  b = a;
  b = t;
  }
  r = a%b;
  while (r != 0)
  {
  a = b;
  b = r;
  r = a%b;
  }
  /********found********/
  return (a);
  }
  main()
  {
  int  num1, num2, a;
  printf("Input num1 num2 : ");
  scanf("%d%d", &num1, &num2);
  printf("num1=%d num2=%d\n\n", num1, num2);
  a = fun(num1, num2);
  printf("The maximun common divisor is %d\n\n", a);
  }
  第1处:b=a;应改为a=b;
  第2处:return (a);应改为return(b);
 [NextPage]   编程题
  请编写一个函数FUN,它的功能是:将SS所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
  例如,若输入abc4EFg,则应输出aBc4EFg
  注意:部分源程序给出如下。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
  试题程序:
  #include <conio.h>
  #include <stdio.h>
  #include <string.h>
  void fun  ( char *ss)
  {
  }
  main( )
  {
  char tt[81];
  FILE *out;
  printf("\n Please enter an string within 80 characters:\n");
  gets( tt );
  printf("\n\nAfter changing, the string\n  %s\n", tt );
  fun( tt );
  printf( "\nbecomes \n  %s\n",  tt  );
  out=fopen("out.dat", "w");
  strcpy(tt, "Please enter an string within 80 characters:");
  fun( tt );
  fprintf(out, "%s",  tt  );
  fclose(out);
  }
  答案是:
  void fun(char *ss)
  {
  int i,n;
  n=strlen(ss);
  for(i=1;i<n;i+=2)
  if (ss[i]>=’a’&&ss[i]<=’z’)
  ss[i]=ss[i]-32;
  }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved