当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级C语言上机操作题及答案(88)
发布时间:2011/7/28 15:39:02 来源:城市学习网 编辑:ziteng
  一、补充fun函数,该函数的功能是:返回字符数组中指定字符的个数,指定字符从键盘输入。
  请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干#include
  #define  N 80
  int fun(char  s[], char  ch)
  {
  int  i = 0, n = 0;
  while (___1___)
  {
  if (___2___)
  n++;
  i++;
  }
  ___3___;
  }
  main()
  {
  int  n;
  char  str[N], ch;
  printf("\nInput a string:\n");
  gets(str);
  printf("\nInput a character:\n");
  scanf("%c", &ch);
  n=fun(str, ch);
  printf("\nnumber of %c: %d", ch, n);
  }表达式或语句。 [NextPage]   二、下列给定程序中,函数fun的功能是:从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出,在每组中,可以没有黑球,但必须要有红球和白球,组合数作为函数值返回,正确的组合应该是15。程序中的值代表红球数,j的值代表白球数,k的值代表黑球数。
  请改正正函数fun中的错误,使它能得出正确的结果。
  注意:不要改动main函数,不得增行或删行,也不等更改程序的结构!
  #include
  int fun()
  {
  int  i, j, k, sum = 0;
  printf("\nThe result  :\n\n");
  /********found********/
  for (i=0; i<=3; i++)
  for (j=1; j<=5; j++)
  {
  k = 8-i-j;
  /********found********/
  if (k>=1 && k<=6)
  {
  sum = sum+1;
  printf("red:M white:M black:M\n", i, j, k);
  }
  }
  return sum;
  }
  main()
  {
  int  sum;
  sum = fun();
  printf("sum=M\n\n", sum);
  }
 [NextPage]   二、假定输入的字符中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除,。在编写函数时,不得使用c语言提供的字符串函数。
  例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是****ABCDEFG。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
  #include
  #include
  #include
  void fun(char *a)
  {
  }
  main()
  {
  char  s[81];
  FILE *out;
  printf("Enter a string :\n");
  gets(s);
  fun( s );
  printf("The string after deleted:\n");
  puts(s);
  out=fopen ("out.dat", "w");
  strcpy(s, "****A*BC*DEF*G*******");
  fun(s);
  fprintf(out, "%s", s);
  fclose (out );
  }
  答案:
  一:1、s[i]或s[i]!=0  2、s[i]==ch或ch==s[i] 3、return n
  二:1、应改为for(i=1;i<=3;i++) 2、应改为if(k>=0&&k<=6)
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved