摘要:我们知道,一个int型整数一般用32位二进制数存储,所表示的最大整数值为 231-1,对应1个10位的十进制整数。因此,一个更大的整数可能需要更多的二进制位来存储,在处理时需要对其进行高精度运算处理。 【例1】二进制加法 问题描述 二进制数相加与十进制数的长加非常相似。与十进制数字一样,从右到左,一
阅读全文
摘要:下面继续通过几个示例体会二进制枚举方法的应用。 【例1】建造碉堡 问题描述 设有一个街道笔直的方形城市。该城市的地图是一个有n行和n列的正方形,每行代表一条街道或一堵墙。 碉堡是一座有四个开口的小城堡,可以通过这些开口射击。四个开口分别面向北、东、南和西。每个开口都会有一支机枪射击。 假设一颗子弹威
阅读全文
摘要:二进制枚举的方法在实际问题中应用还是非常方便的。下面继续体会这一方法的使用。 先看如下的问题。 给出一个数n(1<=n<=1018),求1到n中,有多少个数不是2、5、7、11的倍数? 问题分析 如果n的值较小,可以采用一个简单的一重循环进行处理即可。编写如下的程序。 #include <stdio
阅读全文
摘要:二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。利用二进制的特点,可以用于枚举一个集合中各元素的所有组合情况。 例如,设某集合M中有3个元素A、B和C,即M={A,B,C}。可以用3位二进制数来枚举3个元素的各种组合情况(也可以称为子集),每一位二进制数字对应一个元素,
阅读全文
摘要:1.进位制数 日常生活中人们都采用十进制数,十进制数用0、1、2、3、4、5、6、7、8、9十个数码表示数值;其基数为10,规则逢十进一,借一当十。 计算机中采用二进制数,二进制数只用两个数码0和1来表示数值;其基数为2,规则逢二进一,借一当二。 由于二进制数书写比较麻烦,因此,计算机中通常又用八进
阅读全文
摘要:【问题描述】 给定n个十六进制正整数,输出它们对应的八进制数。 输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输入的十六进制数不会有前导0,比如012A。 输出
阅读全文
摘要:一、4位数的数字黑洞 任意给定一个4位数(不能所有位都相同),比如:3278,重新组合出最大数:8732,再重新组合出最小数:2378,相减,得到新的4位数(如不足则补0),重复这个过程,最后必然得到一个数字:6174。这个现象被称为:数字黑洞。 编写一个程序,验证这个现象。 例如,给出四位数327
阅读全文
摘要:编写一个程序,将自然数1~n2 按“蛇形”填入n×n矩阵中。例如,当n=5时,构造的方阵如下。 (1)编程思路1。 分析数的填法,是按“从右上到左下”的”蛇形”或“从左下到右上”的”蛇形”,沿平行于副对角线的各条对角线上,将自然数从小到大填写。 设用(i,j)表示矩阵元素的坐标,初始时,i=0,j=
阅读全文
摘要:46、十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个数码,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十
阅读全文
摘要:41、编写函数void fun (int a[], int b[],int *n),其功能是:找出数组a保存的100个四位数中的全部素数,将这些素数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,并通过形参n返回这些素数的个数。 #include <stdio.h> #include
阅读全文
摘要:36、编写函数void fun (int *a, int *n),其功能是:求出100~999之间所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293),并将其放在a所指的数组中,通过n返回这些数的个数。 #include <stdio.h> void fun (int *a, i
阅读全文
摘要:31、请编写函数void fun(char xx[]),函数的功能是:将字符串数组xx中下标为奇数的字符按其ASCII值从大到小的顺序进行排序。 例如:源字符串为:abcdefgh,则处理后字符串为:ahcfedgb。 #include <stdio.h> #include <string.h> v
阅读全文
摘要:21、请编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。 例如,若二维数组中的数据为 W W W W S S S S H H H H 则字符串中的内容应是:WSHWSHWSHWSH。 注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的
阅读全文
摘要:11、请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。 例如,当n=10,x=0.3时,函数值为1.349859。 注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include<stdio.h> double fun(double
阅读全文
摘要:1、请写函数proc(),其功能是:求正整数x和y的最大公约。 例如,程序执行时,若输入的两个正整数为12,24,则它们的最大公约数为12,最小公倍数为24。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所写的若干语句。 #inclu
阅读全文
摘要:21、下列给定程序中函数fun的功能是:将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指存储区中。例如:把三个串"abc"、"CD"、"EF"连接起来,结果是"abcCDEF"。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的
阅读全文
摘要:11、给定程序MODI1.C中规定输入的字符串全部为字母,fun函数的功能是:统计a所指字符串中每个字母在字符串中出现的次数(统计时不区分大小写),并将出现次数最高的字母输出(如果有多个相同,输出一个即可)。 例如对于字符串:dadbcdbabdb,对应的输出应为:b或d。 请改正函数fun中指定部
阅读全文
摘要:1、下列给定程序中函数proc的功能是:取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为123456789时,t中的数为2468。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 #include <st
阅读全文
摘要:21、函数fun的功能是:不断从终端读入整数k,用变量a统计大于0的个数,用变量b来统计小于0的个数,当输入0时结束输入,并通过形参px和py把统计的数据传回主函数进行输出。 注意:部分源程序给出如下。请勿改动函数main()和其他函数中的任何内容,仅在fun()函数的横线上填入所编写的若干表达式或
阅读全文
摘要:11、人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:
阅读全文
摘要:1、下列给定程序中,函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[1]、a[2]…中,把奇数从数组中删除,偶数的个数通过函数值返回。 例如,若a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7,删除奇数后a所指数组中的数据为:4,2,6,8,返回值为4。
阅读全文
摘要:一.基础知识 在C语言中,文件操作有四个步骤: ① 定义文件指针; ② 打开文件:文件指针指向磁盘文件缓冲区; ③ 文件处理:文件读写操作; ④ 关闭文件。 文件打开函数如下: fp=fopen("文件名","文件打开方式") 其功能是:使文件指针fp与相应文件实体对应起来,程序对文件指针进行操作,
阅读全文
摘要:一.程序填空题 1.给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函数fun的功能是:将a、b、c三个结点链接成一个单向链表,并输出链表结点中的数据。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结
阅读全文
摘要:一.程序填空题 1.给定程序中,通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数fun的功能是:输出这位学生的信息。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! #include <stdio.h> typedef
阅读全文
摘要:数组元素a[i]的删除操作是使元素个数为n的数组(a[0],a[1],…,a[i-1],a[i],a[i+1],…,a[n-1])变成元素个数为n-1的数组(a[0],a[1],…,a[i-1],a[i+1],…,a[n-1]),由于数组在存储时是连续存放的,这样删除元素a[i]时,需将从元素a[i
阅读全文
摘要:在计算机等级考试二级C语言程序设计试题中,按要求对数组元素进行移动处理是一个重要的考点,有关数组元素移动的试题在历年考试试卷的程序填空题和程序设计题中经常出现。 一.例题讲解 例1 编写函数fun,它的功能是:逆置数组元素中的值。 例如,若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9
阅读全文
摘要:素数(prime number)又称质数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,这样的数就是素数,也就是说一个素数除了1和它本身以外不再有其他的因数。显然,最小的素数是2。 如何判断一个正整数m是否是素数呢? 要判断一个整数m是否是素数,只需把m被2~m-1之间的每一
阅读全文
摘要:在计算机等级考试二级C语言程序设计试题中,有关一个正整数各位数字的处理是一个重要的考点,这类试题在历年考试试卷的程序填空题和程序设计题中经常出现。 一.实例解析 例1 编写函数fun,它的功能是:找出100~x(x<=999)之间所有整数中各位上数字之和为15的整数,然后输出;符合条件的整数个数作为
阅读全文
摘要:在计算机等级考试二级C语言程序设计试题中,多项式求值是一个重要的考点,有关多项式求值的试题在历年考试试卷的程序填空题和程序设计题中经常出现。 一.示例讲解 1.求给定多项式的前n项之和。 这类题目中,给定了需要计算的多项式的项数n,并且各项通常可以用数学式表示出来。因此,程序通常写成如下循环: fo
阅读全文
摘要:一、选择题(每小题1分,共40分) (1)下列叙述中正确的是 A)一个逻辑数据结构只能有一种存储结构 B)数据的逻辑结构属于线性结构,存储结构属于非线性结构 C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理
阅读全文
摘要:一、选择题(每小题1分,共40分) (1)数据的存储结构是指 A)存储在外存中的数据 B)数据所占的存储空间量 C)数据在计算机中的顺序存储方式 D)数据的逻辑结构中计算机中的表示 (2)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是 A)ABCED
阅读全文
摘要:一、选择题(每小题1分,共40分) (1)下列链表种,其逻辑结构属于非线性结构的是 A)循环链表 B)双向链表 C)二叉链表 D)带链的栈 (2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35,现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的
阅读全文
摘要:一、选择题(每小题1分,共40分) 1、下列关于循环队列的叙述,正确的是 A.循环队列是队列的一种顺序存储结构 B.循环队列是队列的一种链式存储结构 C.循环队列是非线性结构 D.循环队列是一种逻辑结构 2、下列叙述中,正确的是 A.栈是一种先进先出的线性表 B.队列是一种后进先出的线性表 C.栈和
阅读全文
摘要:一、选择题(每小题1分,共40分) (1)下列叙述中正确的是 A)算法就是程序 B)设计算法时只需要考虑数据结构的设计 C)设计算法时只需要考虑结果的可靠性 D)以上三种说法都不对 (2)下列关于线性链表的叙述中,正确的是 A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 B)
阅读全文
摘要:一、选择题(每小题1分,共40分) ( 1)下列叙述中正确的是 A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成 C)程序经调试改错后还应进行再测试 D)程序经调试改错后不必进行再测试 ( 2)下列数据结构中,能用二分法进行查找的是 A)顺序存储的有序线性表 B)线性链表 C)二叉链表
阅读全文
摘要:一、选择题(每小题1分,共40分) (1)下列关于栈叙述正确的是 A)栈顶元素最先能被删除 B)栈顶元素最后才能被删除 C)栈底元素永远不能被删除 D)以上三种说法都不对 (2)下列叙述中正确的是 A)有一个以上根结点的数据结构不一定是非线性结构 B)只有一个根结点的数据结构不一定是线性结构 C)循
阅读全文
摘要:一、选择题(每小题1分,共40分) (1)下列叙述中正确的是 A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n B)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2) C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n) D)对长度为n的有
阅读全文
摘要:一、选择题(每小题1分,共40分) (1)下列叙述中,正确的是 A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D)上述三种说法都不对 (2)下列叙述中正确
阅读全文
摘要:一、选择题(每小题1分,共40分) (1)数据的存储结构是指 A)存储在外存中的数据 B)数据所占的存储空间量 C)数据在计算机中的顺序存储方式 D)数据的逻辑结构在计算机中的表示 (2)下列关于栈的描述中,错误的是 A)栈是先进后出的线性表 B)栈只能顺序存储 C)栈具有记忆作用 D)对栈的插入与
阅读全文
摘要:第96套 1.程序填空题 给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。 例如,形参s所指的字符串为:abs5def126jkm8,程序执行后的输出结果为:22。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
阅读全文
摘要:第91套 1.程序填空题 给定程序中,函数fun的功能是:将形参n中各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。 例如,若n=27638496,得到的新数为:64862。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行
阅读全文
摘要:第86套 1.程序填空题 给定程序中,函数fun的功能是:将a所指4*3矩阵中第k行的元素与第0行元素交换。 例如,有下列矩阵 1 2 3 4 5 6 7 8 9 10 11 12 若k为2,程序执行结果为 7 8 9 4 5 6 1 2 3 10 11 12 请在下划线处填入正确的内容并将下划线删
阅读全文
摘要:第81套 1.程序填空题 给定程序中,函数fun的功能是:将不带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表从头至尾结点数据域依次为:10、4、2、8、6,排序后,从头至尾结点数据域依次为:2、4、6、8、10。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:
阅读全文
摘要:第76套 1.程序填空题 给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。 例如,若x=5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140
阅读全文
摘要:第71套 1.程序填空题 给定程序中,函数fun的功能是:将参数给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不
阅读全文
摘要:第66套 1.程序填空题 给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符。若找不到相同的字符则函数不做任何处理。 例如,s所指字符串为:baacda,c中的字符为a,执行后s所指字符串为:baaaacdaa。 请在下划线处填入正确的内容并将
阅读全文
摘要:第61套 1.程序填空题 给定程序中,函数fun的功能是:找出100~x(x<=999)之间所有整数中各位上数字之和为15的整数,然后输出;符合条件的整数个数作为函数值返回。 例如,若x=500时,100~500之间各位上数字之和为15的整数有:159、168、177、186、195、249、258
阅读全文
摘要:第56套 1.程序填空题 给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回值为0。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程
阅读全文
摘要:第51套 1.程序填空题 给定程序中,函数fun的功能是将不带头结点的单向链表逆置。即若原链表从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程
阅读全文
摘要:第46套 1.程序填空题 给定程序的功能是调用函数fun建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile3.dat的二进制文件中。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得
阅读全文
摘要:第41套 1.程序填空题 给定程序中,函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! #include <stdio.h> int fun(int
阅读全文
摘要:第36套 1.程序填空题 给定程序中,函数fun的功能是:统计长整数n的各位上出现数字1、2、3的次数,并通过全局变量c1、c2、c3返回主函数。 例如,当n=123114350时,结果为:c1=3 c2=1 c3=2。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增
阅读全文
摘要:第31套 1.程序填空题 给定程序中,函数fun的功能是:有N*N矩阵,将矩阵中的外围元素顺时针旋转。操作顺序是:首先将第1行元素值存入临时数组r,然后使第1列成为第1行,最后1行成为第1列,最后1列成为最后1行,临时数组中的元素成为最后1列。 例如,N=3,有下列矩阵 1 2 3 4 5 6 7
阅读全文
摘要:第26套 1.程序填空题 给定程序中,函数fun的功能是:计算 例如,若x=2.5,n=15时,函数值为:1.917915。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! #include <stdio.h> #include <ma
阅读全文
摘要:第21套 1.程序填空题 给定程序中,函数fun的功能是:进行数字字符转换。若形参ch中是数字字符“0”~“9”,则0转换成9,1转换成8,…,9转换成0;若是其他字符则保持不变;并将转换后的结果作为函数值返回。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行
阅读全文
摘要:第16套 1.程序填空题 给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! #include <stdio.h> #include <
阅读全文
摘要:第11套 1.程序填空题 给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。 例如,s所指字符串为:asd123fgh543df,处理后新字符串为:asdfghdf123543。 请在下划线处填入正确的内容并将下划线删
阅读全文
摘要:第6套 1.程序填空题 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是:将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! #in
阅读全文
摘要:第1套 1.程序填空题 给定程序中,函数fun的功能是:统计整型变量m中各数字出现的次数,并存放到数组a中,其中,a[0]存放0出现的次数,a[1]存放1出现的次数,……,a[9]存放9出现的次数。 例如,若m为14579233,则输出结果为:0,1,1,2,1,1,0,1,0,1。 请在下划线处填
阅读全文