c语言的调用问题(数据结构与算法)
刚开始做的时候没看清题目。用C 语句测试了,不过没关系。所有的cout 语句都是输出,你把所有的Cout语句改成printf语句 然后把enum改成define几个常量就可以了,头文件删掉换成stdio。 h 这个程序的调用顺序必须先InitTriplet,最后DestroyTriplet; 具体意思你结合结果看一下: 程序: #include #include using namespace std; typedef int Elemtype, *Triplet; typedef int status; #define OVERFLOW 0 #define OK 1 #d...全部
刚开始做的时候没看清题目。用C 语句测试了,不过没关系。所有的cout 语句都是输出,你把所有的Cout语句改成printf语句 然后把enum改成define几个常量就可以了,头文件删掉换成stdio。
h 这个程序的调用顺序必须先InitTriplet,最后DestroyTriplet; 具体意思你结合结果看一下: 程序: #include #include using namespace std; typedef int Elemtype, *Triplet; typedef int status; #define OVERFLOW 0 #define OK 1 #define ERROR 2 status 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(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] return OK; } int main( void ) { Elemtype e1=4,e2=5,e3=3,eTemp; Triplet t; cout Get(t,1,eTemp); cout Get(t,2,eTemp); cout Get(t,3,eTemp); cout cout put(t, 2, eTemp); Get(t,2,eTemp); cout cout cout cout put(t, 3, 7); Get(t,1,eTemp); cout Get(t,2,eTemp); cout Get(t,3,eTemp); cout Max(t,eTemp); cout Min(t,eTemp); cout DestroyTriplet(t); system("pause"); return 0; } //结果: /* InitTriplet(t,e1,e2,e3): 1 1位置:4 2位置:5 3位置:3 改变2位置:3 isDescending:Yes isAscending:No 改变3位置为7: 1位置:4 2位置:3 3位置:7 最大:7 最小:3 请按任意键继续。
。 。 */ 参考文献:Answered by 小恩8504。收起