``` 三元组的基础模型
include[HTML_REMOVED]
include[HTML_REMOVED]
define OK 1
define ERROR 0
typedef int Status;
typedef float Elemtype;//三元组可转化成任意形式
typedef struct
{
Elemtype e[3];
}Triplet;
//三元组的初始化
Status initTriplet(Triplet&T,Elemtype v0,Elemtype v1,Elemtype v2)
{
T.e[0]=v0;
T.e[1]=v1;
T.e[2]=v2;
return OK;
}
//销毁三元组
Status destoryTriplet(Triplet &T)
{
return OK;
}
//用e获取T的第i个元素的值
Status getElem(Triplet T,int i,Elemtype &e)
{
if(i<1||i>3)
return ERROR;
else e=T.e[i-1];
return OK;
}
//升序
Status isAscending(Triplet T)
{
return (T.e[0]<=T.e[1])&&(T.e[1]<=T.e[2]);
}
//降序
Status isDescending(Triplet T)
{
return(T.e[0]>=T.e[1])&&(T.e[1]>=T.e[2]);
}
//得到最大值
Elemtype getMax(Triplet T,Elemtype &e)
{
if(T.e[0]>T.e[1])
e=T.e[0];
else
e=T.e[1];
if(T.e[2]>e)
e=T.e[2];
return e;
}
//得到最小值
Elemtype getMin(Triplet T,Elemtype &e)
{
if(T.e[0]<T.e[1])
e=T.e[0];
else
e=T.e[1];
if(T.e[2]<e)
e=T.e[2];
return e;
}
//测试程序
int main()
{
Triplet T;
Status flag;
Elemtype v0,v1,v2,e;
printf(“请输入三元组的三个值v0,v1,v2:\n”);
scanf(“%d,%f,%f”,&v0,&v1,&v2);
flag=initTriplet(T,v0,v1,v2);
printf(“调用初始化函数后,flag=%d,T的三个值为%4.2f,%4.2f,%4.2f\n”,flag,T.e[0],T.e[1],T.e[2]);
if(isAscending(T))
printf(“该三元组元素为升序\n”);
if(isDescending(T))
printf(“该三元组元素为降序\n”);
printf(“该三元组中的最大值为:%4.2f,最小值为:%4.2f”,getMax(T,e),getMin(T,e));
return OK;
}
```
调整下代码格式,要不其他人复制到IDE里会因为有不兼容的空白字符,导致代码编译不了,没办法解决你的问题,
噢噢,还不太懂怎么换这个格式,第一次搞这个。
测试出来有点毛病,望指出