刚开始做的时候没看清题目。用C++语句测试了,不过没关系。所有的cout 语句都是输出,你把所有的Cout语句改成printf语句然后把enum改成define几个常量就可以了,头文件删掉换成stdio.h这个程序的调用顺序必须先InitTriplet,最后DestroyTriplet;具体意思你结合结果看一下:程序:#include<iostream>#include<fstr 展开
刚开始做的时候没看清题目。用C++语句测试了,不过没关系。所有的cout 语句都是输出,你把所有的Cout语句改成printf语句然后把enum改成define几个常量就可以了,头文件删掉换成stdio.h这个程序的调用顺序必须先InitTriplet,最后DestroyTriplet;具体意思你结合结果看一下:程序:#include<iostream>#include<fstream>using namespace std;typedef int Elemtype, *Triplet;typedef int status;#define OVERFLOW 0#define OK 1#define ERROR 2status InitTriplet(Triplet &T,Elemtype v1,Elemtype v2,Elemtype v3){ T=(Elemtype*)malloc(3*sizeof(Elemtype));if(!T)exit(OVERFLOW);T[0]=v1;T[1]=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(i<1||i>3)return ERROR;e=T[i-1];return OK;} status put(Triplet &T,int i,Elemtype e){ if(i<1||i>3)return ERROR;T[i-1]=e;return OK;} status isAscending(Triplet T){ return (T[0]<=T[1])&&(T[1]<=T[2]);} status isDescending(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;}int main( void ){ Elemtype e1=4,e2=5,e3=3,eTemp;Triplet t;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");return 0;}//结果:/*InitTriplet(t,e1,e2,e3): 11位置:42位置:53位置:3改变2位置:3isDescending:YesisAscending:No改变3位置为7:1位置:42位置:33位置:7最大:7最小:3请按任意键继续. . .*/参考文献:Answered by 小恩8504 收起