N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:找出学生的最高分,由函数值返回。
程序如下:
#include <stdio.h>
#include <stdlib.h>
#define N 8
struct slist
{
double s;
struct slist *next;
};
typedef struct slist STREC;
double fun( STREC *h )
{
double max;
STREC *q=h;
max=h->s;
do
{
if(q->s>max)
max=q->s;
q=q->next;
}
while(q!=0);
return max;
}
STREC *creat( double *s)
{
STREC *h,*p,*q;
int i=0;
h=p=(STREC*)malloc(sizeof(STREC));
p->s=0;
while(i<N)
{
q=(STREC*)malloc(sizeof(STREC));
q->s=s[i];
i++;
p->next=q;
p=q;
}
p->next=0;
return h;
}
void outlist(STREC *h)
{
STREC *p;
p=h->next;
printf("head");
do
{
printf("->%2.0f",p->s);
p=p->next;
}
while(p!=0);
printf("\n\n");
}
void main()
{
double s[N]={85,76,69,85,91,72,64,87}, max;
STREC *h;
h=creat(s);
outlist(h);
max=fun(h);
printf("max=%6.1f\n",max);
}
刚看完c语言,现在看数据结构感觉好难看不懂,请教高手指点!
其实initsack这样的函数 当你培养了一定的写代码能力,这些源代码也可以自己写的。同时在C++的STL库存在着类似线性表,串等类型,里面包含了类似像inistack的函数,可以直接调用。开始看的时候,这些函数可以想抽象点,先不管他怎么实现,先了解其函数作用及表面的算法思路即可。
一个有关C语言(数据结构)程序设计题 高手请帮忙,高分!
int Locate(MGraph G,char c){ for(int i=0;i<G.vexnum;i++)if(G.vexs[i]==c) return i;return -1;} \/\/创建无向网 void CreateUDN(MGraph &G){ int i,j,w,s1,s2;char a,b,temp;printf("输入顶点数和弧数:");scanf("%d%d",&G.vexnum,&G.arcnum);temp=getchar(); \/\/...
c语言 数据结构 本人不才看不出问题 ,希望各位大虾指教,谢谢、、请说...
sequenlist *L=NULL; \/\/这里声明了一个指针,最好赋上初值NULL char ch = 'a';int k ;\/\/L指针在没有指定有效地址空间时,是不能直接使用的!不然它指向的是NULL不能操作 L=(sequenlist *)malloc( sizeof(sequenlist) ); \/\/为指针分配一个有效的空间才可以用哦 ...printf("插入A B C D...
数据结构c语言版一道题求解
include <stdio.h>#include <stdlib.h>typedef int DataType; struct SeqList{ int MAXNUM; \/* 顺序表中最大元素的个数*\/ int n; \/* 存放线性表中元素的个数n≤MAXNUM *\/ DataType *element; \/* element[0],element[1],…,element[n - 1]存放线性表中的元素 ...
C语言程序注释
C语言编程规范-注释 规则:1:一般情况下,源程序有效注释量必须在20%以上。说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。2:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、...
用C语言编程,数据结构题 要快!答的好再加更多悬赏
include <stdio.h> include <stdlib.h> typedef int ElemType;typedef struct LNode { ElemType date;struct LNode *next;}linklist,*link;\/*构造链表*\/\/\/ void IinitList(link &L){ if(L)delete L;L= (link)malloc(sizeof(LNode)) ;if (!L) exit(1);L->next=NULL;printf("链表已...
跪求数据结构 c语言程序的每段加上注释。。 注释啊 注释!!!
int j,k; \/\/声明整型变量j,k \/\/建堆函数 void build(int *a,int i,int n){ \/\/声明a为一个整型变量指针 int tmp;k=i;j=2*k+1;while(j<=n){ \/\/while 计算机的一种基本循环模式。 当满足条件时进入循环,不满足跳出 if((j<n)&&a[j]=a[j])break; \/\/break跳出循环 \/\/...
一道数据结构(c语言描述)题,希望大佬帮我看看,萌新不会?
double r,i;};PLU plu_add(PLU a,PLU b,char c){\/\/运算函数 PLU t;if(c=='+'){\/\/+ t.r=a.r+b.r;t.i=a.i+b.i;} else if(c=='-'){\/\/- t.r=a.r-b.r;t.i=a.i-b.i;} else if(c=='*'){\/\/ t.r=a.r*b.r-a.i*b.i;t.i=a.r*b.i+b.r*a.i;...
数据结构题,设计算法在整型数组A[n]中查找值为K的元素,分析时间复杂...
从头开始扫描,并设一个变量find=0,如果找到了一个值等于K,输出相应位置,如果一直扫描到结尾还是没有符合条件的值,输出-1。算法复杂度为O(n)。C语言版程序:include <stdio.h>#define n 100 \/\/这个值可以根据n的大小改#define n 10 \/\/这个值可以根据k的大小改main(){int i;long a[n+1...
数据结构(C语言版),带头结点的单链表,初始化。不懂的在算法里批注了...
viod CreateList_L(Linklist &L,int n){ \/\/逆位序输入n个元素的值 这是写程序的人的注释 逆序体现在插入数据时,不是在尾部追加,而是从头部加入 每次输入的数据结点,都会成为当前的数据头 正向遍历数据(表头到表尾)时,所显示的数据与录入的顺序是相反的。L=(Linklist)malloc(sizeof(Lnode...