福建省高等学校计算机等级考试二级C语言编程题Word文档格式.docx
《福建省高等学校计算机等级考试二级C语言编程题Word文档格式.docx》由会员分享,可在线阅读,更多相关《福建省高等学校计算机等级考试二级C语言编程题Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
![福建省高等学校计算机等级考试二级C语言编程题Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/28/2cd15c9f-0d8e-4464-98e5-8b1861b694ee/2cd15c9f-0d8e-4464-98e5-8b1861b694ee1.gif)
,fun1(0.76));
fun1(3.00)=%8.3lf\n"
fun1(3.00));
fun1(3.76)=%8.3lf\n"
fun1(3.76));
12.打开考生文件夹中的Cprog012.C,完成其中的函数fun2(inta[],intn,intb[],intc[]),实现:
1)将数组a中大于-20的元素依次存放在数组b中;
2)将数组b中的元素按照从小到大的顺序依次存放到数组c中;
3)函数返回数组b中的元素个数。
string.h>
conio.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;