当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级C语言上机操作题及答案(59)
发布时间:2011/7/20 13:07:26 来源:城市学习网 编辑:ziteng
  第一题:请补充main函数,该函数的功能是,计算两个自然数n和m(m<10000)之间所有数的和。n和m从键盘输入。
  例如,当n=1,m=100时sum=5050,当n=100,m=1000时,sum=495550
  仅在横线上填入所编写的若干表达式或语句,勿改动函数的其他任何内容。
  #include
  #include
  main()
  {
  int  n, m;
  long  sum;
  sum=0;
  printf("\nInput n,m\n");
  scanf("%d,%d", &n, &m);
  while (n <= m)
  {
  sum += n;
  n++;
  }
  printf("sum=%ld\n", sum);
  } [NextPage]   第二题:下列给定程序中,函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。例如:若输入THIs is a boot,则输出应该是1、0、2、2、0。
  请改正程序中的错误,使它能得出正确的结果。
  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
  #include
  #include
  /********found********/
  void fun ( char  *s,  int  num[5] )
  {
  int  k, i = 5;
  /********found********/
  for (k=0; k              num[k]=0;
  for (; *s; s++)
  {
  i = -1;
  /********found********/
  switch ( *s )
  {
  case 'a':
  case 'A':
  {
  i = 0;
  break;
  }
  case 'e':
  case 'E':
  {
  i = 1;
  break;
  }
  case 'i':
  case 'I':
  {
  i = 2;
  break;
  }
  case 'o':
  case 'O':
  {
  i = 3;
  break;
  }
  case 'u':
  case 'U':
  {
  i = 4;
  break;
  }
  }
  if (i >= 0)
  num[i]++;
  }
  }
  main()
  {
  char  s1[81];
  int  num1[5], i;
  printf("\nPlease enter a string: ");
  gets(s1);
  fun(s1, num1);
  for (i=0; i<5; i++)
  printf("%d", num1[i]);
  printf("\n");
  }
 [NextPage]   第三题:请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。
  例如,若字符数中的M个字符串为:
  AAAA
  BBBBBB
  CC
  则合并后的字符串的内容应是AAAABBBBBBCC。
  请勿改动主函数main和其他函数中的任何内容,仅在fun的花括号中填入所编写的若干语句。
  #include
  #define   M   3
  #define   N   20
  void fun(char a[M][N], char *b)
  {
  int i,j, k=0;
  for(i=0;i       {
  for(j=0;j                     if(*(*(a+i)+j))
  {
  b[k]=*(*(a+i)+j);
  k++;
  }
  else
  break;
  b[k]='\0';
  }
  }
  main()
  {
  char w[M][N]={"AAAA", "BBBBBBB","CC"},i;
  char a [100]={"###############################"};
  FILE *out ;
  printf("The string:\n");
  for(i=0; i              puts(w[i]);
  printf("\n");
  fun(w,a);
  printf("The A string:\n");
  printf("%s",a);
  printf("\n\n");
  out=fopen ("out.dat","w");
  fprintf(out, "%s", a);
  fclose (out );
  }
  void fun(char a[M][N],char *b)
  {
  int i,j,k=0;
  for(i=0;i              if(*(*(a+i)+j))
  {
  b[k]=*(*(a+i)+j);
  k++;
  }
  else
  break;
  b[k]='\0';
  }
  }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved