资源描述:
《数据结构编程(复数计算+有理数加减乘除+三元组)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、//---------------------------------------------------三元组---------------------------------------------------------//头文件#include#include#include//函数结果状态代码#defineOK1#defineERROR0#defineTRUE1#defineFALSE0#defineINFEASIBLE-1#defineOVERFLOW-2//使用动态分配的顺序存储结构type
2、defintStatus;typedefintElemType;typedefElemType*Triplet;StatusInitTriplet(Triplet&T,ElemTypee1,ElemTypee2,ElemTypee3){//初始化三元组T=(ElemType*)malloc(3*sizeof(ElemType));if(!T)exit(OVERFLOW);T[0]=e1;T[1]=e2;T[2]=e3;returnOK;}//InitTripletStatusDestroyTriplet(Triplet&T){//销毁三元组free(T);T=N
3、ULL;returnOK;}//DestroyTripletStatusGet(TripletT,inti,ElemType&e){//返回第i个值if(i<1
4、
5、i>3)returnERROR;e=T[i-1];returnOK;}//GetStatusPut(Triplet&T,inti,ElemTypee){//置第i个值为eif(i<1
6、
7、i>3)returnERROR;T[i-1]=e;returnOK;}//PutStatusIsAscending(TripletT){//判断三元组是否是升序if((T[0]<=T[1])&&(T[1]<=T[2])
8、)returnTRUE;elsereturnFALSE;}//IsAscendingStatusIsDescending(TripletT){//判断三元组是否为降序if((T[0]>=T[1])&&(T[1]>=T[2]))returnTRUE;elsereturnFALSE;}//IsDescendingStatusMax(TripletT,ElemType&e){//返回三元组中的最大值e=(T[0]>T[1])?T[0]:T[1];e=(e>T[2])?e:T[2];returnOK;}//MaxStatusMin(TripletT,ElemType&e
9、){//返回三元组中的最小值e=(T[0]10、t(T,i,d))printf("您输入的值有误,无法获取。");elseprintf("您想获得的数字为:%d",d);printf("请输入您想替换的数字的位序:");scanf("%d",&j);printf("请输入您想替换的数字:");scanf("%d",&e);if(!Put(T,j,e))printf("您输入的值有误,无法替换。");elseprintf("替换后的三元组为:%d,%d,%d",T[0],T[1],T[2]);k=IsAscending(T);if(k)printf("此三元组为升序排列。");elsepri
11、ntf("此三元组不是升序排列。");l=IsDescending(T);if(l)printf("此三元组为降序排列。");elseprintf("此三元组不是降序排列。");Max(T,f);printf("此三元组中的最大值为%d",f);Min(T,g);printf("此三元组中的最小值为%d",g);DestroyTriplet(T);}-----------------------------------------------------复数-------------------------------------------
12、------------