东北大学C语言程序设计与数据结构考研真题试题2015—2018年
东北大学C语言机考试题全
7 8 9 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45在物理实验中,获得5个数据{0.89,0.78,0.0009,0.67,0.56},其中有一个数据小于0.001,此数据无效,将此无效在跳水比赛中,有10个评委共同打分,评分规则是去除最高分和最低分,然后计算剩余8个评委分数的平均分作为已知一有序序列1,2,4,6,12,14,要求从键盘输入一个整数,将此整数插入到此有序序列中。
要求输出原始数组和从键盘读入一整数,判断其在数组3,23,-7,8,9,10中是否存在,假设此数组中不存在重复的数字。
若存在,则删除(2)当x大根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。
(1)当x小于1时,y等于2+cos(x)从键盘读入一个实数,对其进行四舍五入处理,要求精确到到小数点后两位。
例如输入12.345,其结果为12.35;输从键盘输入三个整数a、b、c,输出其中最小的数。
从键盘输入三个整数a、b、c,输出其中最大的数。
从键盘输入一个百分制成绩,将其转换为等级'A'、'B'、'C'、'D'、'E'后输出成绩。
转换规则为:90分以上为'A 输入一个3位的正整数,判定该正整数是否为一个回文数。
(所谓回文数是指正读和反读都相同的数,例如131)。
从键盘输入一个字母表示的成绩,将其转换为分数。
规则是'A'对应95、'B'对应85、'C'对应75、'D'对应65、'E'输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示(例如:输入358时,显示358 is 1(2)当x大于根据下面的函数关系,输入X,计算Y,要求输出结果保留两位小数。
东北大学机械学院C语言考试题库及答案
9题目:从键盘输入二个整数a、b,将其按大到小排列.
10题目:找出不超过1000的十位数字为1,个位数字为3或7的所有数。例如:13、17、113、317等.
11题目:输入一个整数,判断该数是否能被3,5,7整除,并输出以下信息之一:
(1)能同时被3,5,7整除;
*
* * *
*****
* **
*
62题目:计算下列算式的值:
直到某一项的值小于0。000001时为止。输出最后C的值。
63题目:计算并输出下面算式的结果值:
64题目:编写程序,读入一个整数N;若N为非负数,则计算并输出N到2×N之间的整数和;若N为一个负数,则计算并输出2×N到N之间的整数和
65题目:一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。又知这个自然数被17除余4,所得的商被17除余15,最后得到一个商是a的2倍.编写程序求这个自然数.
47题目:输入两个正整数分别赋值给m和n,求其最大公约数和最小公倍数。
48题目:计算并输出公元1000元至2000年中所有闰年的年号。每输出3个年号换一行。
49题目:从键盘输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
50题目:计算并输出Sn=a+aa+aaa+…+aa…aaa(有n个a)的结果值(其中a是一个数字。例如:3+33+333+3333(n=4),n由键盘输入)。
66题目:验证2000以内的哥德巴赫猜想,对于任何大于4的偶数均可以分解为两个素数之和。
67ห้องสมุดไป่ตู้目:利用1、2、3、4个数字,可以组成多少个互不相同且无重复数字的三位数?都是多少?输出计算结果.
东北大学C语言机考试题全
主观题
Page 5
程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题
程序设计 题 程序设计 题 程序设计 题 程序设计 题
2 0.113396 2 0.948186 3 0.045317 3 0.886919 3 0.150624 3 0.43147 3 0.060552 3 0.69595 3 0.409323 3 0.848001 1 0.483078 1 0.662013 2 0.060207 2 0.498132
题号 7
8
9
12
13 14 15 16 17 18 19 20
21
22 23 24 25 26 27 28 29 30
主观题 Page 1
主观题 31 32 33 34 35 36 37 38 40 41 42 43 44 45
Page 2
主观题
题目 在物理实验中,获得5个数据{0.89,0.78,0.0009,0.67,0.56},其中有一个数据小于0.001,此数据无效,将此 无效数据删除。要求编制函数cleandata(double *p)实现数据的清理工作,并在主函数输出删除之前的数组和 在跳水比赛中,有10个评委共同打分,评分规则是去除最高分和最低分,然后计算剩余8个评委分数的平均分作 为最终成绩。要求编制打分函数pscore(double *p),输入一次跳水动作中,10个评委打出的成绩,并计算此 动作的最终成绩。在主函数中调用此函数计算某次动作的分数。 已知一有序序列1,2,4,6,12,14,要求从键盘输入一个整数,将此整数插入到此有序序列中。要求输出原始数组 和插入之后的数组。要求编制函数insert(int *p,int d)实现此功能,在主函数调用此函数。 提示:例如输入整数位7,首先要找到7在整个序列中的位置,然后将7插入到当前位置。 从键盘读入一整数,判断其在数组3,23,-7,8,9,10中是否存在,假设此数组中不存在重复的数字。若存在,则 删除此数;否则,提示此数不存在。要求:编制函数remove(double *p,double d)实现数据的清理工作,并输 出原始数据和删除后的数据。 根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。 (1)当x小于1时,y等于2+cos(x) (2)当x大于等于1且x小于2时,y等于x的平方加上sin(x) (3)当x大于等于2时,y等于(x-2)的平方根; 要求:按格式输出x和y的值,要求小数点后保留3位。 从键盘读入一个实数,对其进行四舍五入处理,要求精确到到小数点后两位。例如输入12.345,其结果为 12.35;输入12.341,其结果为12.34。
东北大学(秦皇岛)c语言考试题7
东北大学(秦皇岛)c语言考试题7一、选择题答案1. 若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是A) swich(a+b); B) switch(a*a+b*b) { case 1:y=a+b; break; {case 3:case 0:y=a-b; break; case 1:y=a+b;break;}case 3:y=b-a,break;}C) switch a D) switch(a-b) { case c1 :y=a-b; break {default:y=a*b;breakcase c2: x=a*d; break case 3:case 4:x=a+b;breakdefault:x=a+b;case 10:case 11:y=a-b;break;}}B) void play(int a,b)C) void play(int a,int b)D) Sub play(a as integer,b as integer)你所选择的答案是:*,正确答案是:C ×5. 下列程序的运行结果是void fun(int *a, int *b){ int *k;k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf("%d %d", a, b);}A) 6 3B) 3 6C) 编译出错D) 0 0你所选择的答案是:*,正确答案是:B ×6. 以下只有在使用时才为该类型变量分配内存的存储类说明是A) auto和staticB) auto和registerC) register和staticD) extern和register你所选择的答案是:*,正确答案是:B ×7. 以下程序的输出结果是main(){ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%dn",s);}A) 18B) 19C) 20D)21你所选择的答案是:*,正确答案是:A ×8. 以下合法的赋值语句是A) x=y=100B) d--;C) x+y;D) c=int(a+b);你所选择的答案是:*,正确答案是:B ×9. 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A) 10,3B) 9,3C) 9,2D) 10,2你所选择的答案是:*,正确答案是:D ×10. 假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4;m=(w<x)?w; x; m=(m<y)?m;y; m=(m<z)?m; z;则该程序运行后,m的值是itA) 4B) 3C) 2D) 2你所选择的答案是:*,正确答案是:D ×11. 设有以下函数:f ( int a){ int b=0;static int c = 3;b++; c++;return(a+b+c);}如果在下面的程序中调用该函数,则输出结果是main(){ int a = 2, i;for(i=0;i<3;i++) printf("%d\n",f(a));}A) 789B) 7911C) 71013D) 777你所选择的答案是:*,正确答案是:A ×12. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A) 3B) 6C) 10D) 20你所选择的答案是:*,正确答案是:D ×13. 以下程序的输出结果是main(){ char st[20]= "hello\0\t\\\";printf(%d %d \n",strlen(st),sizeof(st));}A) 9 9B) 5 20C) 13 20D) 20 20你所选择的答案是:*,正确答案是:B ×14. 以下程序段的输出结果是int a=1234;printf("%2d\n",a);A) 12B) 34C) 1234D) 提示出错、无结果你所选择的答案是:*,正确答案是:C ×15. 以下程序的输出结果是main(){ char x=040;printf("%d\n",x<<1);}A) 100B) 80C) 64D) 32你所选择的答案是:*,正确答案是:C ×16. 以下程序的输出结果是main(){ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++) t=t+b[i][b[j][j]];printf("%d\n",t);}A) 3B) 4C) 1D) 9你所选择的答案是:*,正确答案是:B ×17. 若以下定义:struct link{ int data;struck link *next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构: a bdata next data next┌──┬──┐┌──┬──┐│ 5 │┼──→│9 │\0 │└──┴──┘└──┴──┘↑pcdata next┌──┬──┐│7 ││└──┴──┘↑q指针p指向变量a,q指向变量c。
数据结构c语言考研试题及答案
数据结构c语言考研试题及答案数据结构C语言考研试题及答案1. 单项选择题A. 线性表的顺序存储结构通常使用数组来实现。
B. 链表的插入和删除操作需要移动大量元素。
C. 栈是先进后出的数据结构。
D. 哈希表的冲突可以通过链地址法解决。
答案:A2. 多项选择题A. 队列是先进先出的数据结构。
B. 二叉树的遍历方式包括前序、中序、后序遍历。
C. 图的遍历可以使用深度优先搜索或广度优先搜索。
D. 堆是一种特殊的二叉树。
答案:A, B, C, D3. 简答题什么是二叉搜索树?请简述其特点。
答案:二叉搜索树是一种特殊的二叉树,其中每个节点的值都大于其左子树上所有节点的值,且小于其右子树上所有节点的值。
其特点包括:可以快速进行查找、插入和删除操作;树的高度较小时,效率较高。
4. 计算题给定一个数组A[10],其元素为{3, 5, 7, 2, 8, 6, 4, 1, 9, 0},请使用归并排序算法对其进行排序,并给出排序后的数组。
答案:排序步骤如下:1. 将数组分为两部分:A[0-4]和A[5-9]。
2. 对A[0-4]和A[5-9]分别进行归并排序。
3. 将排序后的两部分合并。
排序后的数组为:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}。
5. 编程题请编写一个C语言函数,实现链表的反转。
答案:```cstruct ListNode {int val;struct ListNode *next;};struct ListNode* reverseList(struct ListNode* head) { struct ListNode *prev = NULL;struct ListNode *curr = head;struct ListNode *next = NULL;while (curr != NULL) {next = curr->next;curr->next = prev;prev = curr;curr = next;}head = prev;return head;}```。
东北大学计算机专业基础(含C语言程序设计、数据结构)1996—2019(缺2005、2012)年
东北大学 97 考研题
一、(25 分)按要求完成下题 1 知 U=‘xyxyxyxxyxy’;t=‘xxy‘; ASSIGN(S,U); ASSIGN(V,SUBSTR(S,INDEX(s,t),LEN(T)+1)); ASSIGN(m,‘ww’) 求 REPLACE(S,V,m)= 2 知广义表 A=(((a)),(b),c,(a),(((d,e))))
东北大学 96 考研题
一、(25 分)每小题 5 分 1. 根据下图完成:
1) 画出该图的十字链表存储结构图。 2) 写出其拓扑排序的输出序列。 3) 写出图的强连通分量(支)。 4) 写出到的所有路径及简单路径。 2.给定 8 个权值集合(2,5,3,10,4,7,9,18)画出含有 8 个叶子结点的最佳三叉 归并树,并计算出 3.知含有 8 个结点的一棵二叉树,按先序、中序、后序进行遍历后,有些结点序号不清 楚如下图示。要求构造出一棵符合条件的二叉树。
四、1与L2分别为两单链表头结点,地址指针,且两表中数据结与L2中数据相同的连续结点顺序完全倒置的算法。例:
(15分)
五、知输入关键字序列为(100,90,120,60,78,35,42,31,15)
址区向为0~11。设计一个哈希表函数把上述关键字散到0~11中画出散列表(冲突
用线性探测法);写出查找算法,计算在等概率情况下查找长度。
(15分)
六、一棵高度K具有n个结点的二叉树,按顺序方式存贮:
1)编写用先根遍历树中每个结点的递归算法;
2)编写将树中最大序号叶子结点的祖先结点全部打印输出的算法。
(20分)。
东北大学 98 考研题
一.完成下列各小题(每小题 10 分,共计 30 分)。 1)知三个字符分别为 s=’ab…abcaabcbca…a’ s’=’caab’, s’’=’bcb’ 利用所学字符串基本运算的函数得到结果串为 s’’’=’caabcbca…aca…a’ 要求写出得到上结果串 S“‘所用的函数及执行算法。 2)知记录关键字集合为(53,17,19,61,98,75,79。63,49,46)要求散列到地 址区间(100,101,102,103,104,105,106,107,108,109)内,若产生冲突用开 型寻址法的线性探测法解决。要求写出选用的散列函数;形成的散列表;计算出查找成 功时平均查找长度与查找不成功的平均查找长度。(设等概率情况) 2)知一棵 3 阶 B-树如下图所示: 1)画出查入(18)的 3 阶 B-树计算读结点/写结点次数。
东北大学历年初试考研真题分享
21115
196
3314
186
5、(方向移动,试举例说明之。快速排序中有没有这种现象?
二、(15分)设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的算法:
1、找出最小值结点,且打印该数值;
2、若该数值是奇数,则将其与直接后继结点的值交换;
3、若该数值是偶数,则将其直接后继结点删除;
三、(14分)解答下列问题:
1、(4分)将算术表达式((a+b)+c*(d+e)+f)*(g+h)转化为二叉树;
2、(10分)假设一个仅包含二元运算符的算术表达式以链表形式存储在二叉树b1中,写出计算该表达式值的算法。
四、(21分)解答下列问题:
1、(5分)画出有向图十字链表存储结构中头接点和表结点的结点结构。
5、设有1000个无序的元素,希望用最大的速度挑选出其中前十个最大的元素,在以下的方法中采用哪一种最好?为什么?(3分)
(快速排序,归并排序,堆排序,基数排序,shell排序)
二、(10分)两个正数序列A=a1,a2,a3,…..am和B=b1,b2,b3,…bn已经存入两个单链表中,设计一个算法,判别序列B是否是序列A的子序列。
(1)、构造出散列函数;(3分)
(2)、计算出等概率情况下查找成功的平均查找长度;(3分)
(3)、计算出等概率情况下查找失败的平均查找长度;(3分)
4、判别一下序列是否为堆,若不是,则把他调整为堆。
(1)(100,86,48,73,35,39,42,57,66,21)(4分)
(2)(12,70,33,65,24,56,48,92,86,33)(4分)
(4)在m阶B一树中每个结点上至少┌m/2┐有个关键字最多m有个关键字。
2015年辽宁省数据结构C语言版理论考试试题及答案
44、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
45、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
A.数据元素具有同一特点
C.线性结构和非线性结构 D.内部 Nhomakorabea构和外部结构
40、6个顶点的强连通图中,含有的边数至少是
A.4 B.5 C.6 D.7
41、深度为k的完全二叉树至多有( )个结点
A B C D
B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
46、一棵左子树为空的二叉树在前序线索化后,其空指针域个数为
A.0 B.1 C.2 D.不确定
38、在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是 B 。
A.O(1) B.O(n) C.O(n2) D.O(nlog2n)
39、在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
A.数据元素具有同一特点
B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
27、在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何 B.结点个数的多少
C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。
35、向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
东北大学c语言编程试题及其答案
东北大学C语言题库第一部分(选择题)1、构成C语言的基本单位是________。
你的答案是:正确答案是:B过程函数语句命令2、设x为整型变量,不能正确表达数学关系:5<x<10的c语言表达式是_____。
你的答案是:正确答案是:A5<="">x>5&&x<10x==6||x==7||x==8||x==9!(x<=5)&&(x<10)3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为_____。
你的答案是:正确答案是:D&&、||、!||、&&、!&&、!、||!、&&、||4、下面语句中,正确的是_____。
你的答案是:正确答案是:Dprintf("%c\n","student");printf("%c\n","c");printf("%s\n",&a);printf("%s\n","hello");5、对于for(表达式1;;表达式3)可以理解为_____。
你的答案是:正确答案是:Bfor(表达式1;0;表达式3)for(表达式1;1;表达式3)for(表达式1;表达式1;表达式3)for(表达式1;表达式3;表达式3)6、执行下面程序段的结果是_____。
main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d",a,b); }你的答案是:正确答案是:Ba=1,b=1a=2,b=1a=1,b=0a=2,b=27、执行下面程序段的结果是_____。
东北大学(秦皇岛)c语言考试题8
东北大学(秦皇岛)c语言考试题8一、选择题答案1. 有以下程序段int x=3do{ printf("%d",x-=2); }while (!(--x));其输出结果是A) 1B) 3 0C) 1 -2D) 死循环你所选择的答案是:*,正确答案是:C ×2. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为main( int argc, char *argv[])){ while(--argc>0) printf("%s",argv[argc]);printf("\n");}A) ABCDEFGB) IJHLC) ABCDEFGHIJKLD) IJKLABCDEFGH你所选择的答案是:*,正确答案是:D ×3. 以下程序的输出是struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};main(){ p=aa;printf("%d\n",++(p->x));}A) 10B) 11C) 51D) 60你所选择的答案是:*,正确答案是:C ×4. 以下选项中,非法的字符常量是A) '\t'B) '\17'C)"n"D) '\xaa'你所选择的答案是:*,正确答案是:C ×5. 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A) fopen("A:\user\abc.txt","r")B) fopen("A:\\user\\abc.txt","r+")C) fopen("A:\user\abc.txt","rb")C) fopen("A:\\user\\abc.txt","w")你所选择的答案是:*,正确答案是:B ×6. 以下不能正确进行字符串赋初值的语句是A) char str[5]="good!";B) char str[]="good!";C) char *str="good!";D) char str[5]={'g','o','o','d'};你所选择的答案是:*,正确答案是:A ×7. 若有以下程序:#include "stdio.h"main(){int k=2,i=2,m;m=(k+=i*=k);printf("%d,%d\n",m,i);}执行后的输出结果是A) 8,6B) 8,3C) 6,4D) 7,4你所选择的答案是:*,正确答案是:C ×8. 有一函数,1 (x>0)y= 0 (x=0)-1(x<0)以下程序段中不能根据x值正确计算出y值的是A) if(x>0) y=1;else if(x==0) y=0;else y=-1;B) y=0;if(x>0) y=1;else if(x<0) y=-1;C)y=0;if(x>=0);if(x>0) y=1;else y=-1;D)if(x>=0)if(x>0) y=1;else y=0;else y=-1;你所选择的答案是:*,正确答案是:C ×9. 有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345 &&n<3);此处do-while循环的结束条件是A) P的值不等于12345并且n的值小于3B) P的值等于12345并且n的值大于等于3C) P的值不等于12345或者n的值小于3D) P的值等于12345或者n的值大于等于3你所选择的答案是:*,正确答案是:D ×10. 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是A) p=q;B) *p=*q;C) n=*q;D) p=n;你所选择的答案是:*,正确答案是:D ×11. 有以下程序float fun(int x,int y){ return(x+y); }main(){ int a=2,b=5,c=8;printf("%3.0f\n",fun(int)fun(a+c,b),a-c));}程序运行后的输出结果是A) 编译出错B) 9C) 21D) 9.0你所选择的答案是:*,正确答案是:B ×12. 有以下程序void fun(char *c,int d){ *c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){ char a='A',b='a';fun(&b,a); printf("%c,%c\n",a,b);}程序运行后的输出结果是A)B,a,B,aB) a,B,a,BC) A,b,A,bD) b,B,A,b你所选择的答案是:*,正确答案是:D ×13. 在一个C程序中()。
东北大学历年初试考研真题分享
六、(14分)设L为单链表的头结点地址,其数据结点的数据都是正整数且无相同的,试设计利用直接插入的原则把该链表整理成数据递增的有序单链表的算法。
七、(15分)设t是一棵按后序遍历方式构成的线索二叉树的根结点指针,试设计一个非递归的算法,把一个地址为x的新结点插到t树中,已知地址为y的结点有侧作为结点y的右孩子,并把插入后的二叉树仍为后序线索二叉树。
一.简要回答下列问题:
1.在执行某个排序算法的过程中,出现了排序关键字朝着最终排序相反方向的移动,从而认为该算法是不稳定的。这种说法对么?为什么?
2.从一棵二叉排序树中删除两个元素后,该二叉排序树的形态是否与两个元素的删除次序有关?为什么?
3.如在内存中存放一个完全二叉树,在树上只进行下面两个操作:1>寻找某个结点的双亲;2:>寻找某个结点的的儿子;请问应该用何种结构来存储二叉树。
东北大学97考研题
一、(25分)按要求完成下题
1知U=‘xyxyxyxxyxy’;t=‘xxy‘;
ASSIGN(S,U);
ASSIGN(V,SUBSTR(S,INDEX(s,t),LEN(T)+1));
ASSIGN(m,‘ww’)
求REPLACE(S,V,m)=
2知广义表A=(((a)),(b),c,(a),(((d,e))))
(15分)
五、知输入关键字序列为(100,90,120,60,78,35,42,31,15)址区向为0~11。设计一个哈希表函数把上述关键字散到0~11中画出散列表(冲突用线性探测法);写出查找算法,计算在等概率情况下查找长度。 (15分)
2011年东北大学软件工程考研真题
答案必须写在答题纸上,否则试卷无效。
考试科目名称:计算机基础综合
第一部分 C 语言程序设计( 75 分 )
一、阅读下列程序,写出运行结果。( 共 40 分,5 小题 ) 1、#include <stdio.h>
void main( ){ struct num{ int x; int y; }a[ ] = { {2,32}, {8,16}, {4,48} }; struct num *p = a + 1; int x; x = p -> y / a[ 0 ]. x * ++p -> x; printf( "x = %d\n", x );
2、试编写 1 个函数 char *stuff(char *str1, char *str2, int i, int j),将串 str1 中的第 i 个字符到第 j 个字符之间的字符串替换成 str2。
3、试找出一个二维数组中的鞍点。鞍点指该位置上的元素是该行上的最大值, 也是该列上的最小值,二维数组也可能没有鞍点。
第4页
第二部分 数据结构 1、对 abc 按栈方式处理有几种结果,写出每种结果。按列队方式处理有几种结 果?写出每种结果。
2、写出表达式(a + b)/c + d/(e + f) + a * (c + f)的二叉树表示。
3、请对如图所示的无向带权图: (1) 写出它的邻接表; (2) 按 prim 算法求其最小生成树。
insert(head, a[i]);
} for (p = head->next; p != NULL; p = p->next) {
东北大学C语言考试题库及答案
东北大学C语言考试题库及答案————————————————————————————————作者:————————————————————————————————日期:题目:根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。
5 题目:输入一个整数,当为65时显示A,66时显示B,68时显示C,其他值时显示END.(可选用switch 语句编写)6 题目:编写程序将用户输入的字母进行大小写转换。
7 题目:编程判断输入的正整数是否即是5的倍数又是7的倍数.若是则输出该数;否则输出—1。
8 题目:输入一个整数,判断它是奇数还是偶数并输出。
9 题目:从键盘输入二个整数a、b,将其按大到小排列.10 题目:找出不超过1000的十位数字为1,个位数字为3或7的所有数。
例如:13、17、113、317等。
11 题目:输入一个整数,判断该数是否能被3,5,7整除,并输出以下信息之一:(1)能同时被3,5,7整除;(2)能被其中两数(要指出哪两个)整除;(3)被其中一个数(要指出哪一个)整除;(4)不能被3,5,7任一个整除.12 题目:输入一个5位的正整数,判定该正整数是否为一个回文数。
(所谓回文素数是指正读和反读都相同的数,例如12321)。
13 题目:假设变量a、b、c为整数,从键盘读入a、b、c的值,当a为1时显示b与c之和,a为2时显示b与c之差,a为3时显示b与c之积,a为4时显示b/c之商,其他数值不做任何操作.14 题目:输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示(例如:输入358时,显示358 is 100 to 999)。
15 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的面积。
16 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的类型(等边、等腰、直角、一般)。
17 题目:计算二次方程的根。
东北大学C语言程序设计与数据结构2007年考研真题试卷
2007年东北大学《C语言程序设计与数据结构》考研真题
C语言:
前面几道小题(只给出考点):
1,子函数考点:定义一个指针形参p,经过简单运算,return(*p)++---------主要是判断先加再返回还是先返回再加的问题
2,好象是关于指针的
3,数组交换位置:子函数中用数组名做形参,用交换语句进行数组项交换,主函数给出数组,最后输出
数组:a[5]={1.2,3,4,5},
交换语句:i=0,j=4,if(i<j){t=a,a=a[j],a[j]=t,i++,j--} 4,指向字符串的指针数组,初始化一个二维指针数组a[2][3],char*p=a,
输出下列内容:***(p+1)**(p+2)*(*(p+1)+2)[3](还有些记不太清楚了,一共5个
二题判断对错:
1,结构体的定义,里面嵌套了结构体变量及结构体指针
2,关于指向字符串指针的指针,分配整型空间,赋值等
3,关于函数返回值,主函数需要一个返回值,但子函数形参不是指针
4,关于数组名,直接用数组名递加把元素输出,由于数组名不能自加,所以有另设变量大题一:已经按字典序排好的词条序列,存于一个文件中,格式:book/n书/n支票(大致),要求用二分查找的思想,在文件中查找给定词条,并打印出来;
大题二:n个小孩组成环,从一开始报数,报到2的次幂的出列,请打印出列顺序;要求使用链表结构
数据结构:
小题:
1.在1..m的一片连续存储空间上,有两个栈S1,S
2.怎样设置这两个栈,可以充分利用这片存储空间,画出示意图,给出如何判断栈空和栈满5分
2.利用深度优先遍历方法,能否对有向图进行拓扑排序,若能请说明方法,不能说明原因.4分。
东北大学c语言题库及答案
}
printf("A=%d B=%d C=%d D=%d",a,b,c,d);
}
2
12
将字符串a中的每个字符用加3的方法加密并存入数组b中,再对b中的字符串解密存入数组c。要求:初始化字符串a,依次输出字符串a、b、c。
#include<stdio.h>
#include<stdio.h>
main()
{
int a,b,c,d;
for(a=100;a<500;a++)
{
b=a/100;
c=(a%100)/10;
d=a%10;
if (b+c+d==9)
printf("%d\n",a);
}
}
1
4
编程求1-1000之间的所有完数(完数定义:一个数恰好等于它的除自身外的所有因子之和)。
printf("输入三边");
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
if(b>a)
{
temp=b;
b=a;
a=temp;
}
if(c>a)
{
temp=c;
c=a;
a=temp;
}
if(a*a==b*b+c*c)
printf("直角三角形\n");
}
东北大学计算机专业基础历年考研真题汇编
东北大学计算机专业基础历年考研真题汇编集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#
目录
2015年东北大学842计算机专业基础考研真题(回忆版)
2014年电子科技大学820计算机专业基础考研真题
2013年电子科技大学820计算机专业基础考研真题
2013年电子科技大学820计算机专业基础考研真题及详解
2012年电子科技大学820计算机专业基础考研真题
2012年电子科技大学820计算机专业基础考研真题及详解
2011年电子科技大学820计算机专业基础考研真题
2011年电子科技大学820计算机专业基础考研真题及详解。
东师c语言真题及答案解析
东师c语言真题及答案解析东师C语言真题及答案解析近年来,计算机科学与技术的迅速发展使得C语言成为了世界上最重要的编程语言之一。
作为计算机专业学生的敲门砖,掌握C语言的基础知识和编程技巧是至关重要的。
作为东师计算机科学与技术专业的学生,攻克这门课程中的C语言知识自然是必不可少的一部分。
在准备C语言考试的过程中,很多同学都会寻找历年的真题和答案进行复习。
这样的做法可以帮助我们更好地了解考试的难度和出题特点,从而提高备考的效率。
在这篇文章中,我们将针对东师C语言真题进行解析,希望对同学们的备考有所帮助。
首先,让我们来看一道典型的选择题:1. 下列关于C语言的说法,正确的是:A. C语言是面向对象编程语言B. C语言是高级语言C. C语言是编译型语言D. C语言只能在Windows系统上运行正确答案是C。
C语言是一种编译型语言,需要通过编译器将程序源代码转换为机器可执行的二进制代码。
选项A和D都是错误的,C 语言不是面向对象的语言,也不局限于Windows系统。
接下来,我们来解析一道编程题:2. 编写一个C程序,从键盘输入一个整数n,计算并输出1到n 的所有偶数的和。
解答示例:```c#include <stdio.h>int main() {int n, i, sum = 0;printf("请输入一个整数:");scanf("%d", &n);for(i=1; i<=n; i++) {if(i%2 == 0) {sum += i;}}printf("1到%d之间的所有偶数的和为:%d\n", n, sum);return 0;}```这道题目要求我们使用循环结构和条件判断,计算出给定范围内所有偶数的和。
我们可以使用for循环从1到n遍历每个数字,然后使用if语句判断是否是偶数,并将偶数累加到sum变量中。
最后,输出结果即可。