程序设计基础试题_03_答案.doc
程序设计基础习题及答案

《程序设计基础》习题参考答案【习题1 基本概念】一、简答题(在课本中寻找答案,略)1.1C程序的基本结构包括哪些内容?1.2如何定义标识符?1.3输入格式、输出格式的组成包括哪些内容?1.4C语言函数分为哪两类?1.5计算表达式的值应该考虑哪些方面?1.6上机调试程序的步骤如何?1.7常量与变量的区别?1.8 C语言中的标识符的定义规则?1.9变量为什么要“先定义,后使用”?1.10字符常量'a'与字符串常量"a"有何区别?1.11大小写字母转换的规则是什么?1.12变量的具有哪三种属性?二、单项选择题1.13 C语言中,int型数据在内存中的存储形式是(D)。
A)ASCII码B)原码C)反码D)补码1.14 下面四个选项中,均是不合法的用户标识符的选项是(C)。
A)BA 、x_0、doB)float、1a0、_YC)x-y、goto、123D)_123、tmp、CHAR1.15 下列选项中不正确的常数的选项是(D)。
A)0x12F B)-1.23E-2 C)12.0 D)0388 1.16 下面正确的字符常量是(B)。
A)"a"B)'\\'C)"\n"D)"\376"1.17 下面正确的字符串常量是(C)。
A)'a'B)'376'C)"\\n"D)3761.18 表达式'A'+4*25.0-'b'的正确结果是(B)。
A)67 B)67.0C)不确定D)67L1.19 执行printf("%x",100);后的输出结果是(C)。
A)100 B)0x100 C)0X64 D)641.20 int型的-1在内存中的存储形式是(A)。
A)1111 1111 1111 1111B)0000 0000 0000 0001C)1111 1111 1111 1110D)1000 0000 0000 00011.21 存储字符串"\\\'abc\376"需要的字节数是(D)。
程序设计基础练习题及答案

一、单选题1、16位无符号整数能表达的最大值是A.32767B.32768C.65536D.65535正确答案:D2、下面谁被称为计算机科学之父A.阿兰图灵B.冯诺依曼C.迪杰斯特拉D.高纳德正确答案:A3、下列不属于输入输出设备的是:A键盘B.手写板C.内存D.摄像图正确答案:C4、下面关于高级语言的说法正确的是:A.高级语言的出现,使得程序员的门槛大大降低B.高级语言不包括C语言,因为C语言更适用于系统方面的编程C.与汇编语言相比,高级语言开发的程序执行速度更快D.高级语言完全不依赖于硬件正确答案:A5、-O的8位补码是A.其他B.11111111C.00000000D.10000000正确答案:C6、下面的用嵌套循环求阶乘的程序中,总计需要的循环次数是()A.∩*i次B.n(n+1)∕2次C.∩*∩次D.n次正确答案:B7、循环不变式的建立是在循环体中选取一个点,在该点建立一个逻辑表达式,使每次循环执行到该点时A这个逻辑表达式在循环体中不总是为真B.这个逻辑表达式在循环体中总是为假C这个逻辑表达式在循环体中总是为真D.这个逻辑表达式在循环体中不总是为假正确答案:C8、找到合适的循环不变式能验证A.程序的全部正确性。
B.程序的全部逻辑错误。
C.程序的全部错误。
D.程序的部分正确性。
正确答案:D9、对于直到型循环与当型循环而言,当开始第一次循环且循环条件为假时,下面叙述正确的是()A只有当型循环的循环体会被执行1次,直到型循环不会执行。
B.两者的循环体都会被执行1次C两者的循环体都不会被执行D.只有直到型循环的循环体会被执行1次,当型循环不会执行。
正确答案:D10、下列说法错误的是()oA.如果一个循环中又包含了另一个循环,则称为嵌套循环。
B.嵌套循环的内层和外层循环的循环控制变量不能同名。
C.执行嵌套循环时是先执行内存循环,后执行外层循环。
D.嵌套循环的循环次数等于外层循环的循环次数与内层循环的循环次数之积。
Java语言程序设计(一)模拟试卷(03)及答案

Java语言程序设计(一)模拟试卷(三)及答案一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.如果发生多个线程形成一个等待环,这样,所有线程都陷入相互等待的状态。
这种循环等待现象称为() (1分)A:互斥B:同步C:死锁D:临界2.下面有关临界段叙述错误的是() (1分)A:多线程互斥使用共享资源的程序段被称为临界段B:临界段是一种加锁机制,与多线程共享资源有关C:临界段的作用是在任何时该一个共享资源只能供一个线程使用D:如果一个线程已进入某个共享资源的临界段,且还没有使用结束,其他进程可抢占这个共享的资源3.以下程序代码的输出结果是()int x=100;System.out.println("5.5"+x%8); (1分)A:5.512B:5.512.5C:18D:5.544.在Java程序中有代码如下:System.out.println((new StringTokenizer("I am a student","a")).countTokens());则输出结果为() (1分)A:I am a studentB:2C:3D:45.为8位字节流数据提供读操作支持的类是() (1分)A:FileInputStreamB:FileOutputStremC:FileReaderD:FileWriter6.下列有关抽象类及抽象方法的叙述错误的是() (1分)A:使用final修饰的类是抽象类B:使用abstract修饰的方法是抽象方法C:抽象类必须被继承才能使用,抽象类不可能有实例D:抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类7.在编写Java程序访问数据库的过程中,用来处理驱动程序的加载和建立新数据库连接的类是() (1分)A:DriverManager类B:Statement类C:Connection类D:ResultSet类8.在Java语言中执行如下语句后,i和j的值分别为()int i=10;int j=++i; (1分)A:11和11B:10和10C:10和11D:11和109.包含当事件发生时从源传递给监视器的特定事件信息的对象是() (1分)A:事件对象B:源对象C:监视器对象D:接口10.在Java程序中有如下设置:setBackground(Color.blue);g.setXORMode(Color.red);g.setColor(Color.blue);g.drawLine(300,300,500,500);则线的颜色是() (1分)A:蓝色B:红色C:黄色D:绿色二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
程序设计题库及答案详解

程序设计题库及答案详解程序设计题库及答案详解是面向计算机科学与技术专业学生以及编程爱好者的一份重要学习资料。
它不仅包含了大量的编程题目,还提供了详细的解题思路和答案,帮助读者深入理解程序设计的原理和技巧。
# 一、基础题目1. 题目1:编写一个程序,实现两个整数的加法。
- 答案详解:首先定义两个整数变量,然后使用加法运算符将它们相加,并将结果存储在一个新变量中。
最后,输出结果。
2. 题目2:编写一个程序,实现字符串的反转。
- 答案详解:可以使用循环结构遍历字符串的每个字符,并将它们添加到一个新的字符串的开始位置。
完成后,输出反转后的字符串。
# 二、数组与循环3. 题目3:编写一个程序,找出数组中的最大值。
- 答案详解:首先初始化一个变量来存储最大值,然后使用循环遍历数组中的每个元素,并与当前最大值进行比较,如果当前元素更大,则更新最大值。
循环结束后,输出最大值。
4. 题目4:编写一个程序,实现数组的排序。
- 答案详解:可以使用冒泡排序或选择排序等算法。
以冒泡排序为例,通过多次遍历数组,比较相邻元素的大小,并在必要时交换它们的位置,直到整个数组有序。
# 三、函数与递归5. 题目5:编写一个函数,计算两个数的乘积。
- 答案详解:定义一个函数,接受两个参数,然后在函数内部使用乘法运算符计算它们的乘积,并返回结果。
6. 题目6:编写一个递归函数,计算阶乘。
- 答案详解:定义一个递归函数,如果输入的数为0或1,则返回1;否则,返回输入数乘以递归调用该函数的结果,输入数减1。
# 四、数据结构7. 题目7:编写一个程序,实现链表的插入操作。
- 答案详解:首先定义链表节点的结构,然后编写一个函数来创建新的节点。
在插入操作中,根据插入位置的不同,调整节点的指针指向。
8. 题目8:编写一个程序,实现二叉树的遍历。
- 答案详解:可以使用前序、中序或后序遍历。
以中序遍历为例,首先遍历左子树,然后访问根节点,最后遍历右子树。
程序设计基础试题(附答案)

程序设计基础复习题一、单选1、一个完整的计算机系统应该包括()A、系统软件和应用软件B、计算机及其外部设备C、硬件系统和软件系统D、系统硬件和系统软件2、“裸机”的概念是指()A、正在进行设计还没有组装好的计算机B、已经组装好但还没有安装任何软件的计算机C、仅安装了操作系统的计算机系统D、安装了文字处理软件但没有安装专用数据处理系统的计算机3、世界上第一台电子数字计算机研制成功的时间是()A、1936年B、1946年C、1956年D、1970年4、CASE的含义是()A、计算机辅助设计B、计算机辅助制造C、计算机辅助教学D、计算机辅助软件工程5、当前广泛使用的微型计算机是()A、第一代B、第二代C、第三代D、第四代6、当代计算机的体系结构称为是()A、冯·诺依曼机B、非冯·诺依曼机C、图灵机D、比尔盖茨机7、硬盘是()A、输入设备B、输出设备C、存储设备D、计算设备8、下面4句话中,最准确的表述是()A、程序=算法+数据结构B、程序是使用编程语言实现算法C、程序的开发方法决定算法设计D、算法是程序设计中最关键的因素9、计算机能直接执行的语言是()A、机器语言B、汇编语言C、高级语言D、目标语言10、解释程序的功能是()A、将高级语言程序转换为目标程序B、将汇编语言程序转换为目标程序C、解释执行高级语言程序D、解释执行汇编语言程序11、下面4种程序设计语言中,不是面向对象式语言的是()A、JAVAB、Object PascalC、DelphiD、C12、不是C语言的基本数据类型是()A、intB、doubleC、charD、bool13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符()A、/B、%C、*D、++14、数据的逻辑结构分为()A、纯属结构和非线性结构B、顺序结构和非顺序结构C、树型结构和图型结构D、链式结构和顺序结构15、用链表表示纯属表的优点是()A、便于随机存取B、便于插入和删除操作C、花费的存储空间较顺序存储少D、元素的物理顺序与逻辑顺序相同16、栈的最主要特点是()A、先进先出B、先进后出C、两端进出D、一端进一端出17、下面4句结论只有一句是错误的,它是()A、二叉树是树B、二叉树的左右子树的位置可以颠倒C、可以使用二叉树的思想对数值进行排序D、可以采用链表方式存储二叉树18、螺旋模型中包括需求定义、风险分析、工程实惠和评审四个阶段,在开发过程中()A、每个周期都要包括这四个阶段B、每个周期可以包括不同的阶段C、在最后交付使用之前才进行评审D、在项目开始时才需要进行风险分析19、软件工程的出现主要是由于()A、程序设计方法学的影响B、其他工程科学的影响C、软件危机的出现D、计算机的发展20、在软件工程中,软件测试的目的是()A、试验性运行软件B、发现软件错误C、证明软件是正确的D、找出软件中全部错误二、填空题1、世界上最早的高级程序设计语言是()2、计算机按照工作原理进行分类可以分为()和()3、当前计算机的最基本原理采用的是()4、计算机存储器一般分为两级,它们是()和()5、高级语言程序的翻译有两种方式,一种是(),另一种是()6、数据的存储结构可以用()和()7、树型结构的主要特征是结点之间存在着一种层次的关系,数据元素之间的关系是()的关系。
程序设计基础试题(附答案)

程序设计基础复习题一、单项选择1、一个完好的计算机系统应当包含()A、系统软件和应用软件B、计算机及其外面设施C、硬件系统和软件系统D、系统硬件和系统软件2、“裸机”的观点是指()A、正在进行设计还没有组装好的计算机B、已经组装好但还没有安装任何软件的计算机C、仅安装了操作系统的计算机系统D、安装了文字办理软件但没有安装专用数据办理系统的计算机3、世界上第一台电子数字计算机研制成功的时间是()A、1936 年B、1946 年C、1956 年D、1970 年4、CASE的含义是()A、计算机协助设计B、计算机协助制造C、计算机协助教课D、计算机协助软件工程 5、目前宽泛使用的微型计算机是()A、第一代B、第二代C、第三代D、第四代6、今世计算机的系统构造称为是()A、冯·诺依曼机B、非冯·诺依曼机C、图灵机D、比尔盖茨机7、硬盘是()A、输入设施B、输出设施C、储存设施D、计算设施8、下边 4 句话中,最正确的表述是()A、程序 =算法 +数据构造B、程序是使用编程语言实现算法C、程序的开发方法决定算法设计D、算法是程序设计中最重点的要素9、计算机能直接履行的语言是()A、机器语言B、汇编语言C、高级语言D、目口号言10、解说程序的功能是()A、将高级语言程序变换为目标程序B、将汇编语言程序变换为目标程序C、解说履行高级语言程序D、解说履行汇编语言程序11、下边 4 种程序设计语言中,不是面向对象式语言的是()A、JAVAB、Object PascalC、DelphiD、C12、不是 C语言的基本数据种类是()A、intB、doubleC、charD、bool13、在 C 语言中,为了求两个整数相除以后获得的余数,能够使用运算符()A、/B、%C、*D、++14、数据的逻辑构造分为()A、纯属构造和非线性构造B、次序构造和非次序构造C、树型构造和图型构造D、链式构造温次序构造15、用链表表示纯属表的长处是()A、便于随机存取B、便于插入和删除操作C、花销的储存空间较次序储存少D、元素的物理次序与逻辑次序同样16、栈的最主要特色是()A、先进先出B、先进后出C、两头出入D、一端进一端出17、下边 4 句结论只有一句是错误的,它是()A、二叉树是树B、二叉树的左右子树的地点能够颠倒C、能够使用二叉树的思想对数值进行排序D、能够采纳链表方式储存二叉树18、螺旋模型中包含需求定义、风险剖析、工程优惠和评审四个阶段,在开发过程中() A、每个周期都要包含这四个阶段 B、每个周期能够包含不一样的阶段C、在最后交托使用以前才进行评审D、在项目开始时才需要进行风险剖析19、软件工程的出现主假如因为()A、程序设计方法学的影响B、其余工程科学的影响C、软件危机的出现D、计算机的发展20、在软件工程中,软件测试的目的是()A、试验性运转软件B、发现软件错误C、证明软件是正确的D、找出软件中所有错误二、填空题1、世界上最早的高级程序设计语言是()2、计算机依据工作原理进行分类能够分为()和()3、目前计算机的最基来源理采纳的是()4、计算机储存器一般分为两级,它们是()和()5、高级语言程序的翻译有两种方式,一种是(),另一种是()6、数据的储存构造能够用()和()7、树型构造的主要特色是结点之间存在着一种层次的关系,数据元素之间的关系是()的关系。
c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。
b) 一个C程序中至少应包括一个 main函数。
c) 在C语言中,输出操作是有库函数 printf( )函数完成。
二、单选题1、A2、C3、B解析:第1题答案:A 。
因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。
且到main函数结束。
第2题答案:C 。
因为 main函数没有限制必须位于程序的最前面。
C程序书写自由,一行内可写几个语句。
在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。
不过C语言本身并没有输入输出语句,输入输出是由函数完成的。
第3题答案:B。
因为一个C语言程序是由若干个函数组成的。
但至少包含一个main 函数,且main函数的位置不限。
三、编程题1、编写一个输出“Welcome to C!”信息的小程序。
解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。
海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。
*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。
*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。
C++程序设计基础习题及其解答(第3版)

习题1及其解答选择题1.一个最简单的C++程序,可以只有一个( c )。
(a) 库函数(b) 自定义函数(c) main函数(d) 空函数2.用C++语言编制的源程序要变为目标程序必须要经过( d )。
(a) 解释(b) 汇编(c) 编辑(d) 编译3. C++程序中的简单语句必须以( b )结束。
(a) 冒号(b) 分号(c) 空格(d)花括号4.有说明int a=0; double x=; 以下语句中,( c )属于编译错误。
(a) x=a/x; (b) x=x/a; (c) a=a%x; (d) x=x*a;5. 执行C++程序时出现的“溢出”错误属于( c )错误。
(a) 编译(b) 连接 (c) 运行 (d) 逻辑6.下列选项中,全部都是C++关键字的选项为( c )。
(a) while IF Static (b) break char go(c) sizeof case extern (d) switch float integer7. 按C++标识符的语法规定,合法的标识符是( a )。
(a) _abc (b) new (c) π(d) “age“8.C++语句中,两个标识符之间( a )不能..作为C++的分隔符。
(a) 数字(b) ; (c) : (d) +9.下列正确的八进制整型常量表示是( b )。
(a) 0a0 (b) 015 (c) 080 (d) 0x1010.下列错误的十六进制整型常量表示是( c )。
(a) 0x11 (b) 0xaf (c) 0xg (d) 0x1f11.在下列选项中,全部都合法的浮点型数据的选项为( b )。
(a) 15. 2e-4 (b) -1e+5(c) -12345. e-5 (d) (1+4) 8e+212.下列正确的字符常量为( d )。
(a) “a”(b) ‘name’(c) a (d) ‘\101’13.下列选项中,( d )不能..交换变量a和b的值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学院领导审批并签名 A / B卷广州大学学年第学期考试卷课程高级语言程序设计考试形式(开/闭卷,考试/查)学院系专业班级学号姓名分数评分一:选择题(每题3分,共60分)(1)若有以下定义: char a; int b;float c; double d;则表达式a*b+d-c值的类型为(A)A) double B) float C) int D) char(2)设a=1,b=2,c=3,d=4,则表达式:a<B?A:C<D?A:D的结果为(D) A) 4B) 3 C) 2 D) 1 (3)在下列选项中,不正确的赋值语句是(D)A)++t; B)n1=(n2=(n3=0)); C)k=i==j; D)a=b+c=1;(4)若有以下说明:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g;则数值为4的表达式是(D)A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c](5)若有以下说明8}}; int (*p)[4]=w;则数值为4的表达式是(D) A)*w[1]+1 B)p++,*(p+1) C)w[2][2]D)p[1][1](6)能正确表示a≥10或a≤0的关系表达式是(C) A)a>=10 or a<=0B)a>=10│a<=0 C)a>=10││a<=0 D)a>=10 ││ a<=0 (7)下列可作为C语言赋值语句的是(C) A) x=3,y=5 B) a=b=6C) i--; D) y=int(x);(8)设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf(i=%d,f=%f,&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为(A) A) 100765.12B) i=100,f=765.12 C) 100765.12 D) x=100y=765.12(9)给出以下定义:char x[ ]=abcdefg;char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为(C)A) 数组X和数组Y等价 B) 数组x和数组Y的长度相同C) 数组X的长度大于数组Y的长度 D) 数组X的长度小于数组Y的长度(10)假定a和b为int型变量,则执行以下语句后b的值为(D) a=1;b=10; do{ b-=a; a++;}while (b--<0);A) 9 B) -2 C) -1 D) 8(11)设有以下宏定义: #define N 3#define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1));后,z的值为(C) A) 出错 B) 42 C) 48 D)54 (12)设有如下定义:int arr[]={6,7,8,9,10}; int * ptr;则下列程序段的输出结果为(D) ptr=arr;* (ptr+2)+=2;printf (%d,%d\n,*ptr,*(ptr+2)); A)8,10 B)6,8 C)7,9 D)6,10 (13)执行以下程序段后,m的值为(A) 5,6} }; int m,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));A) 15 B) 14 C) 13 D) 12 (14)有以下程序{ int x,i;for(i=1;i<=50;i++) { x=i;if(++x%2==0) if(x%3==0)if(x%7==0)printf(%d,i); } }输出结果是(D)A) 28 B) 27 C) 42 D) 41(15)若有以下的说明和语句: main(){ int t[3][2], *pt[3],k;for(k=0; k<3;k++) pt[k]=t[k]; }则以一选项中能正确表示t数组元素地址的表达式是(D) A}&t[3][2] B}*pt[0] C}*(pt+1) D)&pt[2] (16)有以下程序#include <STDIO.H> main(){ int a,b,c=246; a=c/100%9; b=(-1)&&(-1);printf(%d,%d\n,a,b); }输出结果是(A)A) 2,1 B) 3,2 C) 4,3 D) 2,-1 (17)有以下程序#include <STDIO.H> struct stu { int num;char name[10]; int age; };void fun(struct stu *p){ printf(%s\n,(*p).name); }{ struct stu students[3]={ {9801,Zhang,20}, {9802,Wang,19}, {9803,Zhao,18} };fun(students+2); }输出结果是(B)A) Zhang B)Zhao C) Wang D) 18(18)有以下程序main(){ char a[]=programming, b[]=language; char *p1,*p2;int i;p1=a; p2=b; for(i=0;i<7;i++)if(*(p1+i)==*(p2+i)) printf(%c,*(p1+i)); }输出结果是(D)A) gm B) rg C) or D) ga(19)有以下程序int fun(int x,int y,int *cp,int *dp) { *cp=x+y; *dp=x-y; } main(){ int a, b, c, d; a=30; b=50; fun(a,b,&c,&d);printf(%d,%d\n, c, d); }输出结果是(C)A)50,30 B)30,50 C)80,-20 D)80,20 (20)有以下程序#include atdio.h int abc(int u,intv); main (){ int a=24,b=16,c; c=abc(a,b);printf('%d\n,c); }int abc(int u,int v) { int w; while(v){ w=u%v; u=v; v=w }return u; }输出结果是(C)A) 6 B) 7 C) 8 D) 9二:填空题(共20分)(1)int a[3][2]={10,20,30,40,50,60}, (*p)[2]; p=a;则 *(*(p+2)+1)值为 60 (1).(2分)(2)以下程序的输出结果是8,17(1).(3分)#include <STDIO.H> int fun(int x,int y){ static int m=0,i=2; i+=m+1; m=i+x+y; return m } main(){ int j=4,m=1,k; k=fun(j,m);printf(%d,,k); k=fun(j,m);printf(%d\n,k); }(3)下面程序的输出是9 (5分)long fun5(int n) { long s;if((n==1)||(n==2)) s=2; elses=n+fun5(n-1); return(s); }main() { long x; x=fun5(4);printf(%ld\n,x); }(4)以下程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串,请填空.(5分) #includectype.h #includestdio.hmain(){ char str[81],*sptr; int i;for(i=0;i<80;i++) { str[i]=getchar();if(str[i]=='\n') break; }str[i]= '\0' (1);sptr=str;while(*sptr) putchar(*sptr ++ (2)); }(5)以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同符的ASCII码之差.例如:输入的两个字符串分别为abcdef和abceef,则输出为-1.请填空. (5分)#include<STDIO.H> main(){ char str[100],str2[100],c; int i,s;printf(\n input string 1:\n); gest(str1);printf(\n input string 2:\n); gest(str2); i=0;while((strl[i]==str2[i])&&(str1[i]!=_ '\0'___(1))) i++;s=__str1[i]-str2[i]__(2); printf(%d\n,s);fgets(str,100,fp); printf(%s\n,str); fclose(fp); }三:程序编写题(下面3题任选2题,每题10分,共20分)题目1:有一个已经排好序的数组。
现输入一个数,要求按原来的规律将它插入数组中。
题目2:判断1001-2000之间有多少个素数,并输出所有素数。
题目3:海滩上有一堆桃子,五只猴子来分。
第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。
第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?答案:1void insert(int x[],int n,int y) { int i,j;for (i=0;i<n;i++) { if (x[i]>=y)break; } if (i==n) x[i]=y; else { for (j=n;j>i;j--) x[j]=x[j-1];x[i]=y; } } 2#include stdio.h#include math.hvoid main(int argc, char* argv[]) {int i,k,sum;for(i=1001,sum=0;i<=2000;i++) {for(k=2;k<=sqrt(i);k++) if ((i mod k)==0)break; if k>=sqrt(i){sum=sum+1;printf(%d ,i); } }printf(\n the total=%d,sum); }3int main(int argc, char* argv[]) { int i,k,n;float m;for (n=4;n<2000;n++) { k=n;for (i=0;i<4;i++) { if ((k-1)%5!=0) break; k=5*k/4+1;} if ((k-1)%5==0)printf( 最少要有%d\n,k); } }。