当前位置:快学网资格考试计算机等级考试2017年计算机二级考试C语言填空模拟试题四» 正文

2017年计算机二级考试C语言填空模拟试题四

[05-16 16:21:15]   来源:http://www.kuaixue5.com  计算机等级考试   阅读:8489
概要: 概要:求最值1. 请补全main函数,该函数的功能是:从键盘上输入3个整数,然后找出最大的数并输出。main(){int a,b,c,max;clrscr();printf(“\nInput three numbers:\n”);scanf(“%d,%d,%d”,&a,&b,&c);printf(“Thethree numbers are:%d,%d,%d\n”,a,b,c);if (a》b)___1___;else___2___;if(max___3___;printf(“max=%d\n”,max);}第一处:max=a第二处:max=b第三处:max=c解析:若a》b 则a较大,将其放入max中;否则将b存于max。此时,max中存放的就是前两个数中较大的,再将max与c比较。2. 函数fun的功能是:从三个形参a,b,c中找出中间的那个数,作为函数值返回。int fun(int a, int b, int c){int t;t = (a》b) ? (b》c? b :(a
2017年计算机二级考试C语言填空模拟试题四,标签:计算机等级考试试题,全国计算机等级考试试题,http://www.kuaixue5.com

求最值

1. 请补全main函数,该函数的功能是:从键盘上输入3个整数,然后找出最大的数并输出。

main()

{int a,b,c,max;

clrscr();

printf(“\nInput three numbers:\n”);

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

printf(“Thethree numbers are:%d,%d,%d\n”,a,b,c);

if (a》b)

___1___;

else

___2___;

if(max

___3___;

printf(“max=%d\n”,max);

}

第一处:max=a

第二处:max=b

第三处:max=c

解析:

若a》b 则a较大,将其放入max中;否则将b存于max。

此时,max中存放的就是前两个数中较大的,再将max与c比较。

2. 函数fun的功能是:从三个形参a,b,c中找出中间的那个数,作为函数值返回。

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

{int t;

t = (a》b) ? (b》c? b :(a》c?c:___1___)) : ((a》c)?___2___ : ((b》c)?c:___3___));

return t;

}

第一处:a

第二处:a

第三处:b

解析:条件表达式的理解。

3. 请补全fun函数,该函数的功能是把从键盘输入的3个整数按从小到大输出。

main()

{int x,y,z,t;

clrscr();

printf(“Input x,y,z\n”);

scanf(“%d%d%d”,&x,&y,&z);

if (___1___)

{

t=x;

x=y;

y=t;

} /*交换x,y的值*/

if(___2___)

{

t=z;

z=x;

x=t;

} /*交换x,z的值*/

if(___3___)

{

t=y;

y=z;

z=t;

} /*交换z,y的值*/

第一处:x》y

第二处:x》z

第三处:y》z

解析:

3个数排序,两两比较,小的放前,大者放后。

交换。

www.kuaixue5.com

4. 请补全main函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数,当输入的整数为0时结束。

main()

{int num[N];

int i=-1;

int max=0;

clrscr();

printf(“\nInput integer number: \n”);

do

{ i++;

printf(“num[%d]=”,i);

scanf(“%d”,___1___);

max= ___2___ num[i] : max;

}while(___3___);

printf(“max=%d\n”, max);

}

第一处:&num[i]

第二处:max

第三处:num[i]!=0

解析:

掌握求最值的一般方法:首先假定第一个数最大,从第二个开始与最大值进行比较,若比最大值还大,则替换;否则,保持不变。

此题:掌握条件表达式的书写、含义。

Max=max

若vmax

i=-1 i++ 循环条件,正确理解。

5. 请补全fun函数,该函数的功能是:求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。

void fun(int *s, int t , int___1___)

{

int i ,max;

max=s[0];

for (i=0;i

if (___2___)

{

max=s[i];

*k=___3___;

}

}

第一处:*k

第二处:s[i]》max

第三处:i

解析:

算法思想与第19题相同。

记住:函数的参数有两种类型:值参、变参。值参相当于一个普通的局部变量。

要通过函数的参数返回值(或返回多个值),需要使用变参,即参数是指针类型。

return 仅能返回一个值。

搞清 指针、地址、指针所指向变量的值间的关系。

int *S 相当于 int S[ ]

www.kuaixue5.com

6. 请补充该fun函数,该函数的功能是:交换数组aa中最大和最小两个元素的位置,结果重新保存在原数组中,其它元素位置不变。注意数组aa中没有相同元素。

1) void fun(int aa)

2) {int i,j,t;

3) int max=0,min=0;

4) for(i=0;i

5) {

6) if(___1___)

7) max=i;

8) if(___2___)

9) min=i;

10) }

11) t=aa[max];

12) ___3___;

13) aa[min]=t;

14) }

第一处:aa[max]

第二处:aa[min]》aa[i]

第三处:aa[max]=aa[min]

解析:

算法思想与第19题相似。

算法思想:假定最大、最小值是同一个元素(第一个);接下来将后面的元素依次开始比较,如果比最大值还大,则修改最大值;如果比最小值还小,则修改最小值。

此题保存的是最大最小值的下标。

最后,通过变量t,交换最大最小值。

第4行:循环变量i的值可以从1开始。

7. 给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。

#include

typedef struct{

char Name[4];

int age ;

}STD;

STD fun(STD std, int n)

{STD max;

int i;

max= ___1___;

for(i=1; i

if(max.age《___2___) max=std[i];

return max;

}

main( )

{STD std[5]={“aaa”,17,“bbb”,16,“ccc”,18,“ddd”,17,“eee”,15 };

STD max;

max=fun(std,5);

printf(“\nThe result: \n”);

printf(“\nName : %s, Age : %d\n”, ___3___,max.age);

}

第一处:*std

第二处:std[i].age

第三处:max.name

解析:

求最大值。

搞清结构体变量类型声明、变量声明、初始化、赋值、输入、输出的方法。

Max=*std 也可以max=std[0] 即结构体变量之间可相互赋值。

但不能整体输入输出。仅能一个数据项、一个数据项地单独进行。

www.kuaixue5.com

[1] [2]  下一页


Tag:计算机等级考试计算机等级考试试题,全国计算机等级考试试题计算机等级考试
上一篇:2017年计算机二级考试C语言填空模拟试题三

发表评论

表达一些您的想法吧!

文明评论,理性发言!

分类导航