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

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

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

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

程序修改题

1.下列给定程序中,函数fun的功能是:计算整数n的阶乘。

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

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

试题程序:

#include

#include

double fun(int n)

{

double result:1.0;

while(n>1&&n<170)

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

result*c=一一n:

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

return;

}

void main()

{

int n;

prinff(“Enter fill integer:”);

seanf(“%d”,&n);

printf(“\n%d!=%1g\n”,n,fun(n));

}

(1)result*=n一一;

(2)retum result;

解析:本题考查:复合赋值运算;通过return语句完成函数值的返回。

该题采用循环语句计算n的阶乘。当n大于1且小于170时,令result与n相乘,同时n自动减1,循环至n=2(n=1时无须相乘)。最后将阶乘的积result返回给主函数。

2.下列给定程序中,函数fun的功能是:根据输入的三个边长(整型值),判断能否构成三角形。若能构成等边三角形,则返回3;若是等腰三角形,则返回2;若能构成三角形则返回1;若不能,则返回0。

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

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

试题程序:

#include

#include

int fun(int a,int b,int c)

{

if(a+b>c&&b+c>a&&a+c>b)

{

if(a==b&&b==c)

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

return 1;

else if(a==b‖b==c ‖a==c)

return 2;

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

else return 3;

}

else retum 0;

}

void main()

{

int a,b,c,shape;

prinff(“\nInput a,b,c:”);

seanf(“%d%d%d”,&a,&b,&c);

prinff(“\ha=%d,b=%d,c=%d\n”,

a,b,c);

shape=fun(a,b,c);

printf(“\nThe shape:%d\n”,shape);

}

(1)return 3;

(2)return 1;

解析:(1)变量a、b、c分别表示三条边,当三边相等(a==b&&b==c)时,返回3。

(2)在能构成三角形的前提下,如果不能构成等边三角形或等腰三角形,则返回1。

3.下列给定的程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数的值为4622。

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

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

试题程序:

#nelude

#include

#include

int fun(int k)

{

int m=0,mc=0,j;

while((k>=2)&&(me<10))

{

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

if((k%13=0)‖(k%17=0))

{m=m+k;mc++;}

k一一;

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

return m;

}

void main()

{

prinff(“%d\n”,fun(500));

}

(1)if((k%13==0)‖(k%17==0))

(2)}return m;

解析:(1)c语言中,x能被y整除的表示方法是x%y==0,而不是题目中所表示的x%y=0。所以,if((k%13=0)‖(k%17=0))修改后的结果应该是答案所示信息。

(2)程序中缺少程序完整所需的“}”,此类信息在做题时一定要注意,可以在做题前先运行一下程序,这样明显的错误一般都会有错误信息显示出来。比如丢失“}”的错误信息是“Compouncl statement missing}in flruction fun”。

说明:做题之前先运行一下程序,如果有书写错误,系统会提示,这样可以简化题目。

4.下列给定程序中,函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指的数组的尾部。

例如,当a所指字符串中的内容为“abc.defg”,b所指字符串中的内容为“1234”时,c所指数组中的内容应为“a4b3c2dlefg”;而当a所指字符串中的内容为“1234”,b所指字符串的内容为“abcdefg”时,c所指数组中的内容应该为“1g2f3e4dcba”。

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

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

试题程序:

#include

#include

void fun(char*a,char*b,char*c)

{

int i,j;char ch;

i=0;j=strlen(b)一1;

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

while(i>j)

{

ch=b[i];b[i]=b[j];b[j]=eh;

1++;]一一;

}

while(*a‖*b)

{

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

If(*a)

{ *c= *a;c++;a++;}

if($b)

{* c=*b;c++;b++;}

}

*c=0:

}

main()

{

char sl[100],s2[100],t[200];

prinff(“\nEnter sl string:”);

scanf(“%S”,s1);

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号