当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级C语言上机操作题及答案(78)
发布时间:2011/7/22 10:13:45 来源:城市学习网 编辑:ziteng
  第一题
  请补充fun函数,该函数的功能是:把字符的ASCII码为偶数的字符从字符串str中删除,结果仍然保存在字符串str中.字符串str从键盘输入,其长度作为参数传入fun函数.
  例如,输入:”abcdef”,输出:”ace”.
  请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句.
  #include
  #define  N 80
  void ___1___
  {
  int  i, j;
  ___2___;
  for (i=0; i  if (s[i]%2 != 0)
  s[j++] = s[i];
  ___3___;
  }
  main()
  {
  int  i = 0, strlen = 0;
  char  str[N];
  printf("\nInput a string:\n");
  gets(str);
  while (str[i] != '\0')
  {
  strlen++;
  i++;
  }
  fun(str, strlen);
  printf("\n********* display string *********\n");
  puts(str);
  }
  答案:
  第1空应填:fun(char s[],int n)或fun(char*s,int n)
  第2空应填:j=0
  第2空应填:s[j]=’\0’或s[j]=0 [NextPage]  第2题
  下列给定程序中函数fun的功能;判断一个整数m是否是素数,若是返回1,否则返回0.
  在main()函数中,若fun返回1则输出YES,若fun返回0则输出NO!.
  请改正程序中的错误,使它能得出正确的结果.
  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
  #include
  #include
  int fun(int  m)
  {
  int  k = 2;
  while (k <= m&&(m%k))
  /********found********/
  k++
  /********found********/
  if (m = k)
  return 1;
  else
  return 0;
  }
  main()
  {
  int  n;
  printf("\nPlease enter n:");
  scanf("%d", &n);
  if (fun(n))
  printf("YES\n");
  else
  printf("NO!\n");
  }
  答案:
  第1处应改为:k++;
  第2处应改为:if(m==k);
  [NextPage]   第3题
  请编写函数fun,其功能是:将s所指字符串中的ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中.
  例如,若s所指字符串的内容为ABCDEFG12345,其中字符B的ASCII码为偶数、…、字符2的ASCII码值为偶数、…都应当删除,其他依此类推.最后t所指的数组中的内容应是ACEG135.
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句.
  #include
  #include
  #include
  void fun( char *s, char t[])
  {
  int  i ,j=0,n=strlen(s);
  for (i=0;i<=n;i++ )
  if(s[i]%2!=0)
  {
  t[j]=s[i];
  j++;
  }
  t[j]=’\0’;
  }
  main()
  {
  char s[100], t[100], Msg[] = "\nPlease enter string S:";
  FILE  *out;
  printf(Msg);
  scanf("%s", s);
  fun(s, t);
  printf("\nThe result is :%s\n", t);
  out=fopen ("out.dat", "w");
  fun(Msg, t);
  fprintf(out, "%s", t);
  fclose (out );
  }
  答案:
  int  i ,j=0,n=strlen(s);
  for (i=0;i<=n;i++ )
  if(s[i]%2!=0)
  {
  t[j]=s[i];
  j++;
  }
  t[j]=’\0’;
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved