Bootstrap

二级C语言操作例题(二十二)

一、程序填空题

在此程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。

例如,形参s所指的字符串为:abcAbsmaxless。程序执行后的输出结果为:

letter’a’:3times

letter’s’:3times

#include  <stdio.h>

#include  <string.h>

#include  <ctype.h>

void fun(char  *s)

{ int  k[26]={0},n,i,max=0;    char  ch;

  while(*s)

  { if( isalpha(*s) ) {

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

      ch=tolower(__1__);

      n=ch-'a';

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

      k[n]+= __2__ ;

    }

    s++;

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

    if(max<k[n]) max= __3__ ;

  }

  printf("\nAfter count :\n");

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

     if (k[i]==max) printf("\nletter  \'%c\' :  %d times\n",i+'a',k[i]);

}

void main()

{ char  s[81];

  printf("\nEnter a string:\n\n");  gets(s);

  fun(s);

}

答案:(1) *s (2) 1 (3) k[n]

二、程序修改题

在此程序中,函数fun的功能是:求S的值。

例如,当k为10时,函数的值应为1.533852。

#include  <stdlib.h>

#include  <conio.h>

#include  <stdio.h>

#include  <math.h>

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

fun(int k)

{

  int n; float s, w, p, q;

  n=1;

  s=1.0;

  while(n<=k)

   {

  w=2.0*n;

      p=w-1.0;

      q=w+1.0;

      s=s*w*w/p/q;

      n++;

   }

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

  return s

}

void main()

{ system("CLS");

  printf("%f\n ",fun(10));

}

答案:(1) float fun(int k) (2) return s;

三、程序设计题

在此程序中,编写函数fun,其功能是:计算并输出下列多项式的值。

例如,当n=10时,函数值为0.909091。

#include<conio.h>

#include<stdio.h>

#include<stdlib.h>

double fun(int n)

{

}

void main()

{

  FILE *wf;

  system("CLS");

  printf("%f\n",fun(10));

/******************************/

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

  fprintf(wf,"%f",fun(10));

  fclose(wf);

/*****************************/

}

答案:

int i;

double s=0.0;

for(i=1;i<=n;i++)

s=s+1.0/(i*(i+1));    /*求级数的和*/

return s;

;