c语言。
输入n个数,编写递归函数,求出n个数中的最大值。
基本思想:将当前数组划分为第一元素和剩下元素。第一元素与剩下元素当中的最大值就是最大元素。剩下元素成为当前数组。直到数组中只有一个元素。
运行通过 #include ""
int max(int a,int n)
if(i=m+1) else
return num;
n个班参加比赛,每个班人数不同,输入人数和每个人的分数,按照每个班的平均分。
排序。#define n 2
#define stun 2
#include <>
struct student
for(i=0;i
int temp;
for(i=0;i
c[i].**erage=temp/c[i].num;
int k;
struct class ctemp;
for(i=0;i
printf("班级按平均分的排名为:")
for(i=0;i printf("%d",c[i].number); 数据结构。
设头指针为l的带有头结点的非循环双向链表,每个结点中除有pred(前驱指针),data(数据)和next(后继指针),还有一个访问频度域freq。在链表被启用前,其值均初始化为零,每。
当在链表中进行一次locate(l,x)运算时,令元素值为x的结点中freq的值增1,并使此链表。
中结点保持按访问频度非增顺序排列,同时最近访问的结点排在在频度相同的结点的前面。
基本思想:先找到数据为x的结点,将它摘下,顺着前驱链找到第一个freq比他大的结点。
插到他后面。
dlinklist locate(dlinklist &l,elemtype x)else
return p;
二叉树每层结点的个数为该层的宽度,各层的最大宽度为二叉树的宽度。返回二叉树宽度。
并输出此层叶结点。只能遍历一次二叉树。
typedef struct bitnode);
if(e->rchild) enqueue(q,);
if(!e->lchild &&e->rchild) leaf[i++]e;
}//到这里二叉树遍历了一遍,每层的结点数,各层的叶结点已经记录在两个数组中。
int maxbread=count[1];
for(i=2;i<10;i++)if(count[i]>maxbread) maxbread=count[i];
printf("树的宽度为%d",maxbread);
printf("该层的叶结点为");
for(i=0;i<20;i++)if(leaf[i].layer==maxbread) printf("%c",leaf[i].data);
无向图以邻接表存储,删除结点i到j的一条弧。
void deletearc(graph &g,int i,int j)
for(pre=p=>adjvex!=j;pre=p,p=p->nextarc);
p指向i到j的弧结点,pre指向它的前驱。
if(!p) return error;//本来就没有弧。
else for(pre=p=>adjvex!=i;pre=p,p=p->nextarc);
if(!p) return error;
else
东北大学2023年考研程序题
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...
东北大学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语言。三。有一个已排序的英文词典文件,每一个词条的格式为 词语 词性 例句。例如 book n this is a book student n i am a student 编写程序根据二分查找远离在文件查找制定单词的词条并输出 四。n个人围成一圈。从第1个人开始计数,凡是数到1,2,4.2 k...