一、程序填空题

函数fun()的功能是:逆置数组元素中的值,形参m给出数组中数据的个数。

例如,若x所指数组中的数据依次为:9、8、7、6、5,则趟置后依次为:5、6、7、8、9。

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

请勿改动函数main()与其他函数中的任何内容,仅在fun()函数的横线上填写所需的若干表达式或语句。

试题程序:

#include%stdi0.h>

void fun(int a[],int m)

{

int i,temp;

for(i=0;i

{

temp=a[i];

a[i]=a[m-1-【2】];

【3】=temp;

}

}

void main()

{

int x[9]=(9,8,7,6,5),i;

printf("\nThe original data:\n");

for(i=0:i<5:i++)

printf("%4d",x[i]);

printf("\n");

fun(x,5);

printf("\nThe data after invert:\n");

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

printf("%4d",x[i]);

printf("\n");

}

二、程序改错题

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

请修改函数fun()中的错误,得出正确的结果。

注意:不要改动main()函数,不能增行或减行,也不能更改程序的结构。

试题程序:

#include

int fun(int x,int y,int z)

{

if(x+y>z&&y斗_z>x&&x+z>y)

{

//****found****

if(x==y&&y==z)

return 1;

else if(x==y||y==z||x==z)

return 2;

else

//****found****

return 3;

}

else

return 0;

}

void main()

{

int x,y,z,shape;

printf("\nInput x,y,z:");

scanf("%d%d%d",&x,&y,&z);

printf("\nx=%d,y=%d,z=%d\n",x,y,z);

shape=fun(x,y,z);

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

}

三、程序设计题

假定输入的字符串只包含字母和“#”号,请编写函数fun(),它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用C语言提供的字符串函数。

例如,若字符串中的内容为“##w#el##come## #”,删除后,字符串中的内容则应当是“welcome”。

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

试题程序:

#include

#include

#define strcpy

void fun(char*s)

{

}

void main()

{

char str[81];

FILE*out;

printf("Enter a string:\n");

gets(str);

fun(str);

printf("The string after deleted:\n");

puts(str);

out=fopen("outfile.dat","w");

strcpy(str,"###T#ES#T#######");

fun(str);

fprintf(out,"%s",str);

fclose(out);

}

上机考试试题答案与解析

一、程序填空题

【1】m/2【2】i【3】a[m—1—i]

【解析】该题中函数功能是逆置数组元素的值。此类题的解题思路,是在简单的两个数值交换的基础上,增加对数值定位的功能,也就是确定要交换的数值在数组中的位置。

第一空:对数组中的元素进行逆置,根据上面的分析,整个数组中元素交换的循环次数,应该是只需要.交换整个数组长度的一半的次数,所以,第一空应填:“m/2”。

第二空:元素逆置,就是第一个和最后一个交换,依次类推。个数为m的数组中.与第i个元素相对应需要交换的元素是第m-1-i个元素,所以第二空填:“i”。

第三空:根据两个元素交换的算法,第i个和第m-i-l 个元素交换的过程,应填:“a[m-1-i]”。

二、程序改错题

(1)错误:return 1;

正确:return 3;

(2)错误:return 3;

正确:return 1;

【解析】本题利用if语句判断三条边的关系,根据判断的结果,返回题干中要求的值。

(1)第一个标识下的语句“if(x==y&&y==z),,说明x,y,z三个值相等,即等边三角形,所以应该返回3,将“1”改成“3”。

(2)第二个标识下的else语句应该是除了等边及等腰三角形之外的三角形,所以应该返回1,应将“3”改成“1”。

三、程序设计题

int i=0;char*p=s; //工作指针P指向字符串s

while(*p) //当P不指向字符串尾符

{

if(*P!=’#’)//指针P指向的字符不是"#"

{

s[i]=*p;//将P指向的字符复制到字符串s

i++;//s下标加1

}

p++;//指针加1,指向下一个字符

}

s[i]=’\0 ’;//新串加尾符

【解析】在while循环中,利用if判断表达式中每一个字符是否为“#”,如果不是,将其复制到字符串,否则跳过,这就实现了函数的功能。

(1)首先利用工作指针指向字符串,当指针不指向串尾时,就对字符串进行循环判断。

(2)在循环中利用if判断表达式字符是否为“#”,如果不是,将其复制到字符串,否则跳过。

(3)所有字符处理完后,记得在新串s的末尾加上结束符“’\0’”。

回型数组 C语言上机题,2014年全国计算机等级二级C语言上机考前预测(含答案)6...相关推荐

  1. 求2014年九月国二c语言考试小抄,2014年全国计算机等级二级C语言上机考前预测(含答案)17...

    一.程序填空题 请补充函数proc(char*str),该函数的功能是把字符串中的内容逆置. 例如,字符串中原有的字符串为abcdef9,则调用该函数后,串中的内容变为gfedcba. 注意:部分源程 ...

  2. 计算机二级c语言编程题型,全国计算机等级二级C语言上机编程题题型

    第1题 函数fun的功能是:将n个人员的考试成绩进行分段统计,考试成绩放在a数组中,各分数段的人数存到b数组中:成绩为60到69的人数存到b[0]中,成绩为70到79的人数存到b[1],成绩为80 ...

  3. 全国计算机等级二级C语言上机编程题题型

    全国计算机等级二级C语言上机编程题题型 第1题 函数fun的功能是:将n个人员的考试成绩进行分段统计,考试成绩放在a数组中,各分数段的人数存到b数组中:成绩为60到69的人数存到b[0]中,成绩为70 ...

  4. 计算机网络技术三级题库pdf,全国计算机等级考试三级网络技术上机考试题库.pdf...

    全国计算机等级考试三级网络技术上机考试题库.pdf 1套 已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符 型4位).产品名称mc(字符型10位).单价dj(整型 ...

  5. c语言程序设计常用语句格式,全国计算机考试二级C语言程序设计要求

    (一)C语言的结构 1.程序的构成,main函数和其他函数. 2.头文件.数据说明.函数的开始和结束标志. 3.源程序的书写格式. 4.C语言的风格. (二)数据类型及其运算 1.C的数据类型(基本类 ...

  6. c语言用户标识符不能描述常量,计算机等级二级C语言考试选择题库

    计算机等级二级C语言考试选择题库 福建省高校计算机等级考试二级C语言选择题汇编 50201.下面关于C语言用户标识符的描述,正确的(D ). 50101.在C语言源程序中,以下叙述正确的是(C). A ...

  7. 用C语言编程计算下列表达式:s=1! 2...,2012年全国计算机等级二级C语言模拟试题及答案(3)...

    一.单项选择题1. 设int x=1,y=1;表达式(!x++ || y--)的值是_________ A.0 B. 1 C. 2 D.-1 2.main( ) {  int n; ( n=6*4,n ...

  8. c语言编译笛卡尔叶形线,全国计算机等级考试C语言2级笔试题-(25)2007年4月1

    2007年4月全国等级考试题目 第25次(已经修改) 一.选择题 下列各题A).B).C).D)四个选项中,只有一个选项是正确的. (1-11题,软件技术基础单向选择题目) 1. 下列叙述中正确的是( ...

  9. 三级C语言上机考试试题与题解,全国计算机等级三级C语言上机试题逐题解析

    三级网络技术和三级数据库技术的C语言上机试题难度较大,题型多样,因此颇难掌握,今将这些试题分类解析,希望能帮大家顺利通过上机考试. 三级的上机题可以分为十几个类型,每类中的题目数量不一,多则十几道题, ...

最新文章

  1. 《MyBatis技术原理与实战》之SqlSession的用途
  2. groovy怎样从sql语句中截取表名_《SQL基础教程》学习笔记
  3. java 微信支付 md5_微信支付MD5签名算法实现
  4. python wordpress自定义字段获取_WordPress 自定义字段(Custom Fields)详细介绍和使用...
  5. react开发模式_通过开发带有精灵动画的游戏来学习高级React模式
  6. [Leetcode][第75题][JAVA][颜色分类][双(三)指针][计数排序]
  7. linux一键安装node+npm
  8. 【ES9(2018)】Object Rest Spread
  9. 搞懂 CSS 水平居中与垂直居中的16个方法
  10. 20 世纪 70 年代的太空殖民艺术 1
  11. Linux查看某个进程的磁盘IO读写情况
  12. 二阶振荡环节的谐振频率_什么是谐振器?谐振器与振荡器有什么区别?
  13. 阿里巴巴Java开发手册详细版本
  14. java 轻量 mq_uncode-mq
  15. 万物互联之边缘计算岗位分析
  16. Pyton IO编程
  17. JUNIPER路由器中常用命令总结
  18. 论文研读1——对抗样本(Adversarial Example)综述(2018版)
  19. IT小盆友:注意20种习惯最耗元气
  20. pyinstaller 打包exe 防反编译(加密)

热门文章

  1. Redis 的持久化
  2. IOS开发之手势——UIGestureRecognizer 共存
  3. 支持IPsec / L2TP / EtherIP测试版下载
  4. SharePoint开发中怎样使用Visual Studio给你的Web Part加入图标
  5. 贪心+优先队列之更改优先级-hdu1896
  6. JZOJ 3461. 【NOIP2013模拟联考5】小麦亩产一千八(kela)
  7. 团队作业2——需求分析原型设计
  8. MySQL - ODBC安装错误问题!
  9. [原创]C#应用WindowsApi实现查找(FindWindowEx)文本框(TextBox、TextEdit)。
  10. dede首页调用会员积分和头像代码