首页 > 全部 > 二级C语言 > 国家二级(C语言)机试模拟试卷936

国家二级(C语言)机试模拟试卷936

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

国家二级(C语言)机试模拟试卷936

程序填空题

1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函教的功能是,有N×N拒阵,根据给定的m(m<=N)值,将每行元素中的值均向右移动m个位置,左位置为0。

例如,N=3, m=2,有下列矩阵:

1 2 3

4 5 6

7 8 9

程序执行结果为:

0 0 1

0 0 4

0 0 7

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:部分源程序在文件blank1.c中。

不得增行或删行,也不得更改程序的结构!

#include

#define N 4

void fun(int (*t)[N], int m)

{ int i, j;

/**********found**********/

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

{ for(j=N-1-m; j>=0; j–)

/**********found**********/

t[i][j+___2___]=t[i][j];

/**********found**********/

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

t[i][j]=0;

}

}

void main( )

{ int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j, m;

printf(\\

(1)i++(2)m (3)m

解析:for循环语句; 数组元素的引用。

填空1:循环语句中,循环变量增量为1。

填空2:将每行元素中的值均右移m个位置,所以数组元素的下标是t[i][j+m]。

填空3:此for循环语句实现左边元素置0操作,所以j的取值范围是0到m。

程序修改题

2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:计算并输出high以内最大的10个素数的和。high的值由主函数传给fun函数。

例如,若high的值为100,则函数的值为732。

请改正程序中的错误,使它能得出正确的结果。

注意:部分源程序在文件modi1.c中。

不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include

#include

int fun(int high)

{ int sum = 0, n=0, j, yes;

/************found************/

while ((high >= 2) && (n < 10)

{ yes = 1;

for (j=2; j<=high/2; j++)

if (high % j ==0){

/************found************/

yes=0; break

}

if (yes) { sum+=high; n++; }

high–;

}

return sum ;

}

void main ( )

{

printf(\\

(1)while((high>=2)&&(n<10))

(2)yes=0;break;

解析:C语言程序的语法格式。while循环条件丢掉一个括号。 另一处是很简单的程序语法错误,没有加分号。

程序设计题

3.使VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是.利用下面的简单迭代方法求方程cos(x)-x=0的一个实根。

XR+1=cos(xR)

迭代步骤如下:

(1)取x1初值为0.0;

(2)x0=x1,将x1的值赋给x0;

(3)x1=cos(x0),求出一个新的x1;

(4)若x0-x1的绝对值小于0.000001,执行步聚(5),否则执行步聚(2);

(5)所求x1就是方程cos(x)x= 0的一个实根,作为函数值返回。

程序将输出结果Root=0.739086。

注意:部分源程序在文件prog1.c中。

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

#include

#include

double fun( )

{

}

void main( )

{

void NONO ( );

printf(\\

double fun( )

{

double x0,x1:;

x1=0.0;

do

{

x0=x1;

x1=cos(x0);

}

while(fabs(x0-x1)>=1e-6);

return x1; }

解析:迭代法求方程的实根: do…while循环语句,其形式为:

do

{

语句

}

while(表达式);

do…while循环与while循环的不同在于,它先执行循环中的语句,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do…while循环至少要执行一次循环语句。

用迭代方法求方程的一个实根,题目已经给出了算法,只要按照算法用合适的程序表达,就可以解题了。

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

剩余未完,查看全文
收藏
国家二级(C语言)机试模拟试卷936

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号