福建省计算机二级(c语言)编程含答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编程题:
第1套
1. 打开考生文件夹中的Cprog011.C ,完成其中的fun1函数,该函数的数学表达式是:
1sin 1()1x
x e fun x x ++=+
例如:fun1(0.76) = 2.175
fun1(3.00) = 5.307
fun1(3.76) = 9.111
2. 打开考生文件夹中的Cprog012.C ,完成其中的函数fun2(int a[ ], int n, int b[ ], int c[ ]),实现:
(1)将数组a 中大于-20的元素,依次存放到数组b 中;
(2)将数组b 中的元素按照从小到大的顺序存放到数组c 中;
(3)函数返回数组b 中的元素个数。
Cprog011.C
double fun1(double x)
{ /**/ double y = 0.0;
y=(1+sin(x)+exp(x))/(1+x);
return y; /**/ }
Cprog012.C
int fun2(int a[],int n,int b[],int c[])
{
/**/
int j = 0;
int i,t,k;
for(i=0;i if(a[i]>-20) { c[j]=b[j]=a[i]; j++; } for(i=0;i for(k=i+1;k if(c[i]>c[k]) { t=c[i]; c[i]=c[k]; c[k]=t; } return j; /**/ } 第2套 1. 打开考生文件夹中的Cprog021.C ,完成其中的函数fun1,该函数的数学表达式是: |6|1() 1.3x e x fun x x +-=+ 例如:fun1(0.76) = 3.582 fun1(3.00) = 5.369 fun1(3.76) = 8.931 2. 打开考生文件夹中的Cprog022.C ,完成其中的函数fun2(char a[ ], char b[ ], char c[ ]),实现:将三个字符串a 、b 、c 从小到大排序后输出。 注意:字符串比较函数为strcmp(str1,str2),字符串赋值函数为strcpy(str1,str2)。 Cprog021.C double fun1(double x) { /**/ double y = 0.0; y=(exp(x)+fabs(x-6))/(x+1.3); return y; /**/} Cprog022.C void fun2(char a[],char b[],char c[]) {/**/ char str[100]; if (strcmp(a,b)>0) { strcpy(str,a);strcpy(a,b);strcpy(b,str);} if(strcmp(b,c)>0) { strcpy(str,b);strcpy(b,c);strcpy(c,str);} if(strcmp(a,b)>0) { strcpy(str,a);strcpy(a,b);strcpy(b,str);}/**/} 第3套 1. 打开Cprog031.C ,完成其中的函数fun1,该函数的数学表达式是: 1.231()103 213x fun x x x x <⎧⎪=⎨⎪+>⎩= 例如:fun1(0.76) = 1.200 fun1(3.00) = 10.000 fun1(3.76) = 8.520 2. 打开Cprog032.C ,完成其中的函数fun (char *s),使程序实现统计输入字符串中空格的个数。 Cprog031.C double fun1(double x) {/**/ double y = 0.0; if(x==3) y=10; else if(x<3) y=1.2; else y=2*x+1; return y; /**/ } Cprog032.C int fun(char *s) { /**/ int n=0; char *p=s; while(*p) { if(*p==' ') n++; p++; } return n; /**/} 第4套 1. 打开程序Cprog041.C ,完成其中的fun ( )函数,使其计算: 00()||3.2 sin()2x f x x x x ≤⎧⎪=+⎨>⎪+⎩ 如 输入: 12 输出: f(12.000)=10.387 输入: 32.25 输出: f(32.250)=12.935 输入: 0.113 输出: f(0.113)=1.568 2. 打开程序Cprog042.C ,完成其中的fun ( )函数,使程序打印出Fibonacci 数列的前20个数。该数列(1, 1, 2, 3, 5, 8, 13, ……)的第1、第2个数为1,从第3个数开始每个数等于前2个数之和。 Cprog041.C double f(float x) {/**/ double y; if (x<=0) y = 0; else y = (fabs(x)+3.2)/(sin(x)+2); return y;/**/} Cprog042.C void fun(int a[],int m) { /**/ int i; a[0]=1; a[1]=1; for(i=2; i a[i] = a[i-2] + a[i-1];/**/} 第5套 1. 打开程序Cprog051.C ,完成其中的f ( )函数,使其计算: 5.8||||700()1||700x x f x x ⎧+≤⎪=⎪->=⎩ 如 输入: 0.4 输出: f(0.40)=0.82 输入: 1.5 输出: f(1.50)=1.24 输入: 780 输出: f(780.00)=-1.00 2. 打开程序Cprog052.C ,完成其中的fun ( )函数,使其判断一个矩阵是否为对称矩阵,若矩阵对称返回1,不对称返回0。说明:矩阵a 是一个二维数组,若其中的第k 行第j 列的元素与第j 行第k 列的元素相同,则称其为对称矩阵,否则为非对称矩阵。 如 输入:6 3 12 如 输入:6 9 12 3 18 8 3 18 8 12 8 7 34 8 22 输出:Yes 输出:No