一、程序填空题
在此程序中,函数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;