全国计算机二级C语言机试题库..doc
文本预览下载声明
下列给定程序中,函数fun的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。
例如,当n为5时,函数值应为10.407143。f(x)函数定义如下:
f(x)=
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include stdlib.h
#include conio.h
#include stdio.h
#include math.h
/*************found**************/
f(double x)
{
if(x==0.0||x==2.0)
return 0.0;
else if(x0.0)
return(x-1)/(x-2);
else
return(x+1)/(x-2);
}
double fun(int n)
{
int i; double s=0.0,y;
for(i=-n; i=n;i++)
{ y=f(1.0*i); s+=y;}
/*************found**************/
return s
}
void main()
{ system(CLS);
printf(%f\n, fun(5));
}
【参考答案】
(1)错误:f(double x) 正确:double f(double x) (2)错误:return s 正确:return s;
t=1+1/2+1/3+1/4+…+1/m
例如,若输入5,则应输出2.283333。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:
#include stdlib.h
#include conio.h
#include stdio.h
double fun(int m)
{double t=1.0;
int I;
for(I=2;I=m;I++)
/*************found**************/
t+=1.0/k;
/*************found**************/
return I;
}
void main()
{int m;
system(CLS);
printf(\nPlease enter 1integer number: );
scanf(%d,m);
printf(\nThe result is %1f\n, fun(m));
}
【参考答案】 (1)错误:t+=1.0/k; 正确:t+=1.0/I; (2)错误:return I; 正确:return t;
下列给定程序中,函数fun的功能是:分别统计字符串中大写字母和小写字母的个数。例如,给字符串s输入:AaaaBBb123CCccccd,则应输出结果:upper=5,lower=9。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#includeconio.h
#includestdio.h
/*********found***********/
void fun(char *s,int a,int b)
{ while(*s)
{
/*********found***********/
if(*s=A *s=Z)
a++;
/*********found***********/
if(*s=a *s=z)
b++;
s++;
}
}
main()
{
char s[100];
int upper=0,lower=0;
printf(\nplease a string :);
gets(s);
fun(s,upper,lower);
printf(\n upper=%d lower=%d\n,upper,lower);
}
【参考答案】
(1)错误:void fun(char *s, int a, int b) 正确:void fun(char *s, int *a, int *b) (2)错误:a++; 正确:(*a)++; (3)错误:b++; 正确:(*b)++;
下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删
显示全部