国家二级(C语言)机试模拟试卷918
程序填空题
1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:从三个形参a、b、c中找出中间的数,并作为函数值返回。
例如,当a=3,b=5,c= 4时,中间的数为4。
注意:部分源程序在文件blank1.c中。
不得增行或删行,也不得更改程序的结构!
#include
int fun(int a,int b,int c)
{ int t;
/**********found**********/
t=(a>b)?(b>c?b:(a>c?c:__1__))
/**********found**********/
\\t :((a>c)?__2__
/**********found**********/
\\t :((b>c)?c:__3__));
return t;
}
void main( )
{
int a1=3,a2=5,a3=4,r;
r=fun(a1,a2,a3);
printf(\\
(1)a (2)a (3)b
解析:
程序修改题
2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第5个字母;若小写字母为v~z,则使小写字母的值减21。转换后的小写字母作为函数值返回。
例如,若形参是字母A,则转换为小写字母f;形参是字母W,则转换为小写字母b。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件modi1.c中。
不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
char fun(char c)
{ if(c>=’A’ && c<=’Z’)
/*************found**************/
\\tc=c-32;
if(c>=’a’ && c<=’u’)
/*************found**************/
\\tc=c-5;
else if(c>=’v’ && c<=’z’)
\\tc=c-21;
return c;
}
void main( )
{
char c1,c2;
printf(\\
(1)c=c+32;
(2)c=c+5;
解析:(1)从ASCII码值表中可以看出,小写字母的ASCII码值比对应大写字母的ASCII码值大32,所以大写字母转换成小写字母要加32。
(2)将大写字母转换成对应小写字母之后,再将其转换成其后面的第5个字母,所以要加5。
程序设计题
3.使VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,该函数的功能是:计算并输出S=1+(1+2^0.5)+(1+2/0.5+3^0.5)+…+(1+2^05+3^0.5+…+n^0.5)的值。
例如,若主函数从键盘给n输入20后,则输出为S=534. 18888
注意:部分源程序在文件prog1.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
double fun(int n)
{
}
void main( )
{ int n;
double s;
void NONO( );
printf(\\
double fun(int n)
{
int i;
double s=0.0,s1=0.0;
for(i=1;i<=n;i++)
{
sI=1+pow.5):/*求每一项*/
8s-s+s1; /*按公式求出s*/
}
return s; }
解析:
本文档预览:3600字符,共2350字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载