码迷,mamicode.com
首页 > 其他好文 > 详细

三元组的使用

时间:2016-05-08 01:05:13      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

#include<stdio.h>
#include<stdlib.h>
int InitTriplet(int **T,int v1,int v2,int v3)
{
    *T=(int*)malloc(3*sizeof(int));
    if(!*T)
    {
        printf("分配空间失败!\n");
        exit(-1);
    }
    (*T)[0]=v1,(*T)[1]=v2,(*T)[2]=v3;
    return 1;
}

int DestoryTriplet(int **T)
{
    free(*T);
    *T=NULL;
    return 1;
}        

int Get(int *T,int i,int *e)
{
    if(i<1||i>3)
    {
        printf("不存在要获取的第%d位字符\n",i);
        exit(-1);
    }
    *e=T[i-1];
    return 1;
}

int Put(int **T,int i,int e)
{
    if(i<1||i>3)
    {
        printf("不存在要修改第%d位的字符\n",i);
        exit(-1);
    }
    (*T)[i-1]=e;
    return 1;
}

int IsAscending(int *T)
{
    if(T[0]<T[1]&&T[1]<T[2])
        return 1;
    else
        return 0;
}
int IsDescending(int *T)
{
    if(T[0]>T[1]&&T[1]>T[2])
        return 1;
    else
        return 0;
}
int Max(int *T,int *e)
{
    *e=T[0]>=T[1]?T[0]>=T[2]?T[0]:T[2]:T[1]>=T[2]?T[1]:T[2];
    return 1;
}
int main()
{
    int *T;
    int i,e0;
    
    InitTriplet(&T,2,4,8);
    for(i=1;i<=3;i++)
    {
        Get(T,i,&e0);
        printf("%d ",e0);
    }
    printf("\n");

    Put(&T,1,0);
    for(i=1;i<=3;i++)
    {
        Get(T,i,&e0);
        printf("%d ",e0);
    }
    printf("\n");        
    
    printf("该三元组是否依次递增:%d,(1,是;0否)\n",IsAscending(T));

    Max(T,&e0);
    printf("该三元组中的最大值是%d\n",e0);

    DestoryTriplet(&T);
    
    return 0;
}

三元组的使用

标签:

原文地址:http://www.cnblogs.com/xiaoshi-com/p/5469546.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!