东北大学2023年考研程序题

发布 2020-02-15 13:44:28 阅读 8045

c语言。

试编写一个程序,显示指定文件中的内容,要求每行中显示的字符数不超过30个。

基本思想:fgets(a,30,fp).读30个显示30个。

void print(char *p)

file *fp;

char buffer[30];

if((fp=fopen(p,"r"))null)

while(fgets(buffer,30,fp)!=null) /文件位置指针会自动往后移动。

printf("%s",buffer);

fclose(fp);

编写函数将str1中的第i个字符到第j个字符替换成str2

基本思想:str1:0--i拷到str3,str2拷到str3,str1:j-最后拷到str3

char *stuff(char *str1,char *str2,int i,int j)

int m;

char *str3;

for(m=1;m<=i;m++)

while(*str2!='0')

*str3++=str2++;

while(*str1!='0')

*str3++=str1++;

str1=str3;

3.试找出二位数组中的鞍点,也有可能没有鞍点。

void getpoint(int a[m][n])

for(i=0;i /找到行最大a[i][k]

for(l=0;lif(a[l][k]>a[i][k])

if(tag=1)

printf("鞍点不存在!")数据结构。

整数序列作为输入顺序,当输入数据位0时表示输入结束。编写算法,将数据按递增顺序。

用单链表存放。

void main()

int a;

char ch;

l=(linklist)malloc(sizeof(lnode));建立头结点,用l指向。

while(getchar(ch)!=0')

//pre指向第一个比a大的结点的前趋。

r->next=p;

pre->next=r;

二叉树采用二叉链表作为存储结构。求出二叉树第i层和第i+1层叶结点个数之和。

基本思想:改造层序遍历算法。在遍历过程中记录当前所处理的结点所在的层数。

int getnum(bitree t)

if(!t) return 0;

int num=0;

int front=-1,rear=-1;

int last=0,level=1;//last首先指向第一行的最后一个元素。

bitree q[maxsize]; 队列。

q[++rear]=t; /尾结点是实的。

bitree p;

while(front

return num;

求邻接表无向图的连通分量。

基本思想:深度优先遍历。

void dfs(graph &g,int u)

arcnode *p;

visited[v]=1;

printf("%d",v);

for(p=>nextarc)

void getpart(graph &g)

for(v=0;i<

visited[v]=0;

for(v=0;i<

if(!visited[v])

printf("此连通分量包含结点:")

dfs(g,v);

东北大学2023年考研程序题

1.写出将循环单链表中结点x的直接前驱删除的算法,x为指针,且从x出发进行删除。void delete linklist l,lnode x p x while p next next x p p next q p next p next x free q 设计算法将二叉树的左右孩子互换。void ...

东北大学2023年考研程序题

c语言。输入n个数,编写递归函数,求出n个数中的最大值。基本思想 将当前数组划分为第一元素和剩下元素。第一元素与剩下元素当中的最大值就是最大元素。剩下元素成为当前数组。直到数组中只有一个元素。运行通过 include int max int a,int n if i m 1 else return ...

东北大学2023年考研程序题

c语言。三。有一个已排序的英文词典文件,每一个词条的格式为 词语 词性 例句。例如 book n this is a book student n i am a student 编写程序根据二分查找远离在文件查找制定单词的词条并输出 四。n个人围成一圈。从第1个人开始计数,凡是数到1,2,4.2 k...