三元组代码实现
【摘要】
数据结构 三元组代码实现:
#include<stdio.h>
#define OK 1
#define ERROR 0
typedef int Status;
typedef float ...
数据结构 三元组代码实现:
#include<stdio.h>
#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 destroyElem(Triplet &T)
{
return OK;
}
//获取第i个元素的值
Status getElem(Triplet T,Status i,ElemType &e)
{
if(i<1||i>3)
{
return ERROR;
}else
{
e=T.e[i-1];
return e;
}
}
//换第i个的值
Status putElem(Triplet &T,int i,ElemType e)
{
if(i<1||i>3)
{
return ERROR;
}else
{
T.e[i-1]=e;
return T.e[i-1];
}
}
//判断升序
Status isAscending(Triplet T)
{
return (T.e[0]<T.e[1]&&T.e[1]<T.e[2]);
}
//判断降序
Status isDesneding(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(e<T.e[2])
{
e=T.e[2];
}
return e;
}
//最小值
ElemType getMIN(Triplet T,ElemType &e)
{
if(T.e[0]>T.e[1])
{
e=T.e[1];
}else
{
e=T.e[0];
}
if(T.e[2]<e)
{
e=T.e[2];
}
return e;
}
int main()
{
Triplet T;
Status flag,i;
ElemType v0,v1,v2,e;
printf("请输入三元组的三个数值:\n");
scanf("%f %f %f",&v0,&v1,&v2);
flag=initTriplet(T,v0,v1,v2);
printf("调用初始化函数后,flag=%d\n",flag);
printf("T的三个值分别为:\n");
for(i=0;i<3;i++)
{
printf("%4.2f ",T.e[i]);
}
printf("\n");
if(isAscending(T))
{
printf("该三元组元素为升序\n");
}
if(isDesneding(T))
{
printf("该三元组元素为降序\n");
}
printf("该三元组最大值为:%4.2f\n",getMAX(T,e));
printf("该三元组最小值为:%4.2f\n",getMIN(T,e));
return OK;
return 0;
}
注意:float的输入输出是%f
引用是C++的内容,保存文件注意
文章来源: blog.csdn.net,作者:花花叔叔,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_52077949/article/details/114376860
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)