首页 > 全部 > 二级C语言 > 国家二级C语言程序设计机试(程序修改题)模拟试卷2

国家二级C语言程序设计机试(程序修改题)模拟试卷2

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

国家二级C语言程序设计机试(程序修改题)模拟试卷2

程序修改题

1.下列给定程序的功能是:读入一个整数k(2≤k≤10000),输出它的所有质因子(即所有为素数的因子)。例如,若输入整数2310,则应输出2,3,5,7,11。

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

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

试题程序:

#include

#include

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

IsPrime(int n);

{

int i,m:

m=1;

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

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

if!( n%i)

}

m=0:

break;

}

return(m);

}

main()

{

int j,k;

prinfff“\nPlease enter an interger nunlber

between 2 and 10000:”);

scanf(“%d”,&k);

prinff(“\nThe prime factor(s)of%d

is(aJle):”,k);

for(j=2;j<k;j++)

if((!(k%j))&&(IsPrime(j)))

prinff(“%4d,”,j);

prinff(“\n”);

}

(1)IsPrime(int n) (2)if(!(n%i))

解析:本题考查:函数定义的格式;if条件的判断语句。这些知识点必须掌握,因为经常考到。

(1)函数定义格式错误,函数定义时后面不能加“;”,所以应该去掉分号。

(2)根据题意可知,if条件语句判断n是否可以整除i,如果不能整除则为质因子,所以if!(n%i)应改为if(!(n%i))。

2.下列给定程序中,函数fun的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,当s所指字符串中的内容为“abcdabfab”,t所指字符串的内容为“ab”,则函数返回整数3。

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

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

试题程序:

#include

#inelude

#include

#include

int fun(char*s,char*t)

{

int n;char*P,*r;

rl=0;

while(*s)

{

P=s:

r=t:

while(*r)

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

if(*r==*Px r++;P++}

else break;

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

if(r==‘\0’)

n++:

s++:

}

return n;

}

void main()

{

char s[100],t[100];int m;

system(“CLS”);

prinff(“\nPlease enter string s:”);

scanf(“%s”,s);

printf(“\nPlease enter substring t:”);

seanf(“%s”,t);

m=fun(s,t);

prinff(“\nThe result is:m=%d\n”,n1);

}

(1)if(*r==*p) {r++;p++; }

(2)if(*r==’\0’)

解析:本题考查:if语句,考生需要根据题意确定if语句的判断条件;字符串结束标识,所有的字符串都要以’\0’结尾,上机考试常考知识点,考生一定要牢记;复合赋值运算,常用于循环控制和变量的累加、累乘。从字符串s中找出子串t的方法是:从第1个字符开始,对字符串进行遍历,若s串的当前字符等于t串的第1个字符,两个字符串的指针自动加1,继续比较下一个字符;若比较至字符串t的结尾,则跳出循环;若s串的字符与t串的字符不对应相同,则继续对s串的下一个字符进行处理。

3.下列给定程序中,函数fun的功能是:计算函数F(x,y,z)=(x+y)/(x—y)+(z+y)/(z—y)的值。其中x和y的值不相等,z和y的值不相等。例如,当x的值为9,y的值为11,z的值为15时,函数值为一3.50。

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

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

试题程序:

#include

#include

#include

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

#define FU(m,n)((m/n))

float fun(float a,float b,float e)

{

float value;

value=FU(a+b,a—b)+FU(c+b,c—b);

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

Return(Value);

}

main()

{

float x,y,z,sum;

prinff(“Input x y z:“);

scanf(“%f%f%f.’,&x,&y,&z);

prinff(“x=%f,y=\\

(1)#define FU(m,n)(m)/(n)

(2)return(value);

解析:本题考查:C语言宏定义;函数返回值。

本题考查C语言的宏定义,其格式为:#de6ne标识符字符串,中间要用空格分开。在该题中,标识符为Fu(m,n),字符串为(m/n),由题干信息可知,m、n均为表达式,且先进行表达式运算,再进行除法运算,因此此处应为(m)/(n)。

4.下列给定程序中,函数fun的功能是:在整数10到55之间,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中a1放个位数,a2放十位数。

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

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

试题程序:

#include

int fun(int*b)

{

int k,al,a2,i=0;

for(k=10;k<=55;k++)

{

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

a2=ICl 0;

al=k—a2 * 10:

if((k%3==0&

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

剩余未完,查看全文
收藏
国家二级C语言程序设计机试(程序修改题)模拟试卷2

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号