搜索
首页 电脑/网络 程序设计 C/C++

c语言的调用问题(数据结构与算法)

  status InitTriplet(Triplet &T,Elemtype v1,Elemtype v2,Elemtype v3){ T=(Elemtype*)malloc(3*sizeof(Elemtype)); if(!T)exit(OVERFLOW); T[0]=v1; T[2]=v2; T[2]=v3; return OK;}status DestroyTriplet(Triplet &T){ free(T); T=NULL; return OK;}status Get(Triplet T,int i,Elemtype &e){ if(i3)return ERROR; e=T[i-1]; return OK;}status put(Triplet &T,int i,Elemtype e){ if(i3)return ERROR; T[i-1]=e; return OK;}status isAscending(Triplet T){ return (T[0]=T[1])&&(T[1]>=T[2]);}status Max(Triplet T,Elemtype &e){ e=(T[0]>=T[1])?((T[0]>=T[2])?T[0]:T[2]):((T[1]>=T[2])?T[1]:T[2]); return OK;}status Min(Triplet T,Elemtype &e){ e=(T[0]<=T[1])?((T[0]<=T[2])?T[0]:T[2]):((T[1]<=T[2])?T[1]:T[2]); return OK;}请用c语言帮我写一个程序。
  用上以上函数,在函数主体调用上面每一个程序,有值得输入,编译后有值显示。

全部回答

2018-02-10

0 0
    刚开始做的时候没看清题目。用C++语句测试了,不过没关系。所有的cout语句都是输出,你把所有的Cout语句改成printf语句然后把enum改成define几个常量就可以了,头文件删掉换成stdio。
  h这个程序的调用顺序必须先InitTriplet,最后DestroyTriplet;具体意思你结合结果看一下:程序:#include#includeusingnamespacestd;typedefintElemtype,*Triplet;typedefintstatus;#defineOVERFLOW0#defineOK1#defineERROR2statusInitTriplet(Triplet&T,Elemtypev1,Elemtypev2,Elemtypev3){T=(Elemtype*)malloc(3*sizeof(Elemtype));if(!T)exit(OVERFLOW);T[0]=v1;T[1]=v2;T[2]=v3;returnOK;}statusDestroyTriplet(Triplet&T){free(T);T=NULL;returnOK;}statusGet(TripletT,inti,Elemtype&e){if(i3)returnERROR;e=T[i-1];returnOK;}statusput(Triplet&T,inti,Elemtypee){if(i3)returnERROR;T[i-1]=e;returnOK;}statusisAscending(TripletT){return(T[0]=T[1])&&(T[1]>=T[2]);}statusMax(TripletT,Elemtype&e){e=(T[0]>=T[1])?((T[0]>=T[2])?T[0]:T[2]):((T[1]>=T[2])?T[1]:T[2]);returnOK;}statusMin(TripletT,Elemtype&e){e=(T[0]<=T[1])?((T[0]<=T[2])?T[0]:T[2]):((T[1]<=T[2])?T[1]:T[2]);returnOK;}intmain(void){Elemtypee1=4,e2=5,e3=3,eTemp;Triplett;cout<<"InitTriplet(t,e1,e2,e3):"<<InitTriplet(t,e1,e2,e3)<<endl;Get(t,1,eTemp);cout<<"1位置:"<<eTemp<<endl;Get(t,2,eTemp);cout<<"2位置:"<<eTemp<<endl;Get(t,3,eTemp);cout<<"3位置:"<<eTemp<<endl;cout<<"改变2位置:";put(t,2,eTemp);Get(t,2,eTemp);cout<<eTemp<<endl;cout<<"isDescending:"<<(isDescending(t)?"Yes":"No")<<endl;cout<<"isAscending:"<<(isAscending(t)?"Yes":"No")<<endl;cout<<"改变3位置为7:"<<endl;put(t,3,7);Get(t,1,eTemp);cout<<"1位置:"<<eTemp<<endl;Get(t,2,eTemp);cout<<"2位置:"<<eTemp<<endl;Get(t,3,eTemp);cout<<"3位置:"<<eTemp<<endl;Max(t,eTemp);cout<<"最大:"<<eTemp<<endl;Min(t,eTemp);cout<<"最小:"<<eTemp<<endl;DestroyTriplet(t);system("pause");return0;}//结果:/*InitTriplet(t,e1,e2,e3):11位置:42位置:53位置:3改变2位置:3 改变3位置为7:1位置:42位置:33位置:7最大:7最小:3请按任意键继续。
    。。*/。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
程序设计
C/C++
VB
数据库
汇编语言
JAVA相关
VC++
C#/.NET
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报