福建省高等学校计算机等级考试二级C语言编程题文档格式.docx
《福建省高等学校计算机等级考试二级C语言编程题文档格式.docx》由会员分享,可在线阅读,更多相关《福建省高等学校计算机等级考试二级C语言编程题文档格式.docx(11页珍藏版)》请在冰点文库上搜索。
stdio.h>
intfun2(inta[],intn,intb[],intc[])
{/**/
intnb=0;
inti,j=0,temp;
for(i=0;
i<
n;
i++)
if(a[i]>
-20){b[j]=a[i];
nb++;
j++;
nb;
i++)c[i]=b[i];
nb-1;
for(j=0;
j<
nb-i-1;
j++)
if(c[j]>
c[j+1])
{
temp=c[j];
c[j]=c[j+1];
c[j+1]=temp;
}
returnnb;
/**/}
{intn=10,i,nb;
intaa[10]={12,-10,-31,-18,-15,50,17,15,-20,20};
intbb[10],cc[10];
Thereare%2delementsinaa.\n"
n);
Theyare:
"
);
for(i=0;
i<
i++)printf("
%6d"
aa[i]);
\n"
nb=fun2(aa,n,bb,cc);
Elementsinbbare:
for(i=0;
bb[i]);
Elementsinccare:
cc[i]);
Thereare%2delementsinbb.\n"
nb);
21.打开考生文件夹中的Cprog021.C,完成其中的函数fun1,该函数的数学表达式使:
例如:
fun1(0.76)=3.582
fun1(3.00)=5.369
fun(3.76)=8.931
f=(exp(x)+fabs(x-6))/(x+1.3);
/**/
22.打开考生文件夹中的Cprog022.C,完成其中的函数fun2(chara[],charb[],charc[]),实现:
将三个字符串a、b、c从小到大排序后输出。
注意:
字符串比较函数为strcmp(str1,str2),
字符串赋值函数为strcpy(str1,str2)。
voidfun2(chara[],charb[],charc[])
/**/
chartemp[15];
if(strcmp(a,b)>
0){strcpy(temp,a);
strcpy(a,b);
strcpy(b,temp);
if(strcmp(a,c)>
strcpy(a,c);
strcpy(c,temp);
if(strcmp(b,c)>
0){strcpy(temp,b);
strcpy(b,c);
/**/
{charstr1[15]="
Fuzhou"
str2[15]="
Fujian"
str3[15]="
China"
;
fun2(str1,str2,str3);
Theorderedstringsis:
%s,%s,%s\n"
str1,str2,str3);
getch();
31.打开cprog031.c完成其中的函数fun1,该函数的数学表达式是:
1.2当x<
3时
fun1(x)=10当x=3时
2x+1当x>
fun1(0.76)=1.200
fun1(3.00)=10.000
fun1(3.76)=8.520
doublef;
if(x<
3)f=1.2;
elseif(x==3)f=10;
elsef=2*x+1;
32.打开cprog032.c完成其中的函数fun(char*s),使程序实现统计输入字符串中空格的个数。
intfun(char*s)
inti,n=0;
for(i=0;
s[i]!
='
\0'
if(s[i]=='
'
)n++;
returnn;
{
charstr[255];
gets(str);
%d\n"
fun(str));
41.打开程序Cprog041.C,完成其中的f()函数,使其计算:
如输入:
12输出:
f(12.000)=10.387
输入:
32.25输出:
f(32.250)=12.935
0.113输出:
f(0.113)=1.568
doublef(floatx)
if(x<
=0)f=0;
elsef=(fabs(x)+3.2)/(sin(x)+2);
returnf;
floatx;
doubley;
Pleaseinputanumber:
\n"
scanf("
%f"
&
x);
y=f(x);
f(%.3f)=%.3f\n"
x,y);
42.打开程序Cprog042.C,完成其中的fun()函数,使函数打印出Fibonacci数列的前20个数。
该数列(1,1,2,3,5,8,13,…)的第1、第2个数为1,从第3个数开始每个数等于前2个数之和。
voidfun(inta[],intm)
inti;
a[0]=a[1]=1;
for(i=2;
20;
a[i]=a[i-1]+a[i-2];
inta[20],i;
fun(a,20);
i++)
%d"
a[i]);
51.打开程序Cprog051.C,完成其中的f()函数,使其计算:
0.4输出:
f(0.40)=0.82
1.5输出:
f(1.50)=1.24
780输出:
f(780.00)=-1.00
if(fabs(x)<
700)f=(sqrt(5.8+fabs(x)))/(cos(x)+2.1);
elsef=-1.0;
f(%0.2f)=%0.2f\n"
52.打开程序Cprog052.C,完成其中的fun()函数,使其判断一个矩阵是否为对称矩阵,若矩阵对称返回1,不对称返回0。
说明:
矩阵a使一个二维数组,若其中的第k行第j列的元素与第j行第k列的元素相同,则称其为对称矩阵,否则为非对称矩阵。
6312如输入:
6912
31883188
128734822
输出:
Yes输出:
No
intfun(inta[][3],intm)
intb=1;
inti,j;
m;
for(j=0;
j++){if(a[i][j]!
=a[j][i]){b=0;
break;
}}
if(b==0)break;
returnb;
inta[3][3],i,j;
intb;
3;
j<
j++)
%d"
a[i][j]);
b=fun(a,3);
if(b==1)
Yes\n"
else
No\n"
61.打开程序Cprog061.C,完成其中的f()函数,使其计算:
如:
输入:
0.8输出:
f(0.80)=0.96
4.5输出:
f(4.50)=107.05
725输出:
f(725.00)=-1.00
doublef;
300)f=pow(x,3)/log10(fabs(x)+2.6);
62.打开程序Cprog062.C,完成其中的fun()函数,使其实现四则运算的功能。
3.22.1
3.20+2.10=5.3
3.2-2.10=1.10
3.20*2.10=6.72
3.20/2.10=1.52
floatfun(floata,charflag,floatb)
floatf;
switch(flag)
{
case‘+’:
f=a+b;
break;
case‘-’:
f=a-b;
case‘*’:
f=a*b;
case‘/’:
f=a/b;
floata,b;
Pleaseinputtwonumbers:
%f%f"
a,&
b);
%.2f+%.2f=%.2f\n"
a,b,fun(a,'
+'
b));
%.2f-%.2f=%.2f\n"
-'
%.2f*%.2f=%.2f\n"
*'
%.2f/%.2f=%.2f\n"
/'