首页 > 全部 > 二级C语言 > 二级C语言程序设计题专项强化真题试卷2

二级C语言程序设计题专项强化真题试卷2

本单篇文档共3218字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 真题试卷 3082人下载
价格: 1.00 原价:¥7.00
收藏

二级C语言程序设计题专项强化真题试卷2

程序设计题

1.下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是:将数组左下半三角元素中的值全部置成0。例如a数组中的值为:

197

238

456

则返回主程序后a数组中的值应为:

097

008

000

注意:部分源程序给出如下。

请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include

#include

#nclude

#define N 5

void fun(int a[][N])

{

}

void main()

{

int a[N][N],i,j;

system(\\

void fun(int a[][N])

{

int i,j;

if(a==NULL)return:

for(i=0;i<N;i++)

for(j=0;j<=i;j++)

a[i][j]=0; /*将数组左下半三角元素中的值全部王成0*/

}

解析:本题考查:for循环语句,使用嵌套循环语句遍历二维数组的各个元素;二维数组元素的引用。

对于N×N二维数组,如何表示其左下半三角元素,可以通过以下语句实现。

for(i=0;i<n;i++)

for(j=0;j<=i;j++)

外层循环用来控制矩阵的行下标,内层循环控制矩阵的列下标。注意列下标的取值范围,因为要表示下三角元素,所以j的范围是0~i。

2.编写函数fun,其功能是:根据以下公式求,π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。

double fun(double eps)

{

double s=1.0,s1=1.0;

int n=1;

while(s1>=eps) /*当某项大于精度要求时,继续求下一项*/

{ s1=s1*n/(2*n+1); /*求多项式的每一项*/

s=s+s1; /*求和*/

n++;

}

return 2*s;

}

解析:本题考查:迭代法求给定多项式的值。迭代算法是让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。需要注意变量的数据类型以及赋初值操作。

首先应该定义double类型变量,并且赋初值,用来存放多项式的某一项和最后的总和。从第二项开始以后的每一项都是其前面一项乘以n/(2*n+1),程序中用s1来表示每一项,s表示求和后的结果。需注意s1和s的初值都为1.0,因为循环变量从第二项开始累加。

3.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。

注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include<stdio.h>

#include<stdlib.h>

#define M 14

void NONO( );

void fun(char(*t)[M],int*a,int,*c){

}

void get(char(*s)[M])

{int i,j;for(i=0;i<M;i++)

{for(j=0;j<M;j++)

{S[i][j]=65+rand( )%12;printf(\\

int i=0,j=0;//循环统计的下标

*a=0;//初始化a字符统计的个数

*c=0;//初始化c字符统计的个数

for(i=0;i<M;i++)//行

{

for(j=0;j<M;j++)//NI

{

if(t[i][j]=’A’)//字符是a,计数

(木a)++;

if(t[i][j]==’C’)//字符是c,计数

(*c)++;

}

}

解析:对二维数组的行列分别循环,行优先,查找数组中元素为A或者C,分别对其进行计数。

4. 请编写函数fun,其功能是:计算并输出下列多项式的值,

S=(1—1/2)+(1/3—1/4)+…+(1/(2n一1)一1/2n)

例如,若主函数从键盘给n输入8后,则输出为S=0.662872。

注意:要求n的值大于1但不大于100。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include<stdio.h>

double fun(int n)

{

}

main()

{

int n;double s;

void NONO();

printf(\\

double fun(int n)

{

int i;

double s=0.0;

for(i=1;i<=n;i++)

s=s+(1.0/(2*i一1)一1.0/(2*i));

/*计算S=(1—1/2)+(1/3—1/4)+(1/(2n一1)一1/2n)*/

return s;

}

解析:对于求多项式值的题目,一般都使用循环语句来累加计算多项式的通项。本题中多项式的通项为1/(2n一1)一1/2n,循环变量的取值范围为1~n。注意,存放累加和的变量s要定义为实型,累加时要进行类型转换。

本文档预览:3600字符,共3218字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
二级C语言程序设计题专项强化真题试卷2

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号