#include <stdio.h>
#define OK 1
#define ERROR 0
typedef int Status;
//三元組的型別先定義為float,可以隨時變換成別的型別
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 destroyTriplet(Triplet &T)
{
return OK;
}
Status getElem(Triplet T,int i,ElemType &e)
{
if(i<1||i>3)
return ERROR;
else
e=T.e[i-1];
return e;
}
Status putElem(Triplet &T,int i,ElemType e)//
{
if(i<1||i>3)
return ERROR;
else
T.e[i-1]=e;
return e;
}
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("%f,%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;
}
uj5u.com熱心網友回復:
#include <stdio.h>
#define OK 1
#define ERROR 0
typedef int Status;
//三元組的型別先定義為float,可以隨時變換成別的型別
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 destroyTriplet(Triplet &T)
{
return OK;
}
Status getElem(Triplet T,int i,ElemType &e)
{
if(i<1||i>3)
return ERROR;
else
e=T.e[i-1];
//return e;
return OK; //這里應該是是回傳OK吧
}
Status putElem(Triplet &T,int i,ElemType e)//
{
if(i<1||i>3)
return ERROR;
else
T.e[i-1]=e;
//return e;
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("%f,%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\n",getMax(T,e),getMin(T,e));
return OK;
}
供參考~
注意輸入時需要用逗號隔開。
uj5u.com熱心網友回復:
謝謝,忘記輸逗號了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/121087.html
標籤:C語言
上一篇:nginx安裝和部署
