现在的位置: 首页 > 综合 > 正文

结构体数组排序输出的省事办法。。。。

2013年10月27日 ⁄ 综合 ⁄ 共 729字 ⁄ 字号 评论关闭

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<time.h>
struct abc
    {
        int a;
        int b;
        int c;
    };
int main(void)
{
    abc A[100],*p[100],*tmp;
    int i,j;
    for(i=0;i<100;i++)//给指针数组赋值
    {
        p[i]=&A[i];
    }
    for(i=0;i<100;i++)//随机给结构体中的变量赋值
    {
        A[i].a=abs((rand()*time(NULL))%10);
        A[i].b=abs((rand()*time(NULL))%10);
        A[i].c=abs((rand()*time(NULL))%10);
    }
    for(i=0;i<99;i++)//排序部分使用了最简单的冒泡排序。。。。
    {
        for(j=i+1;j<100;j++)
        {
            if(p[i]->a<p[j]->a)
            {
                tmp=p[i];
                p[i]=p[j];
                p[j]=tmp;
            }
        }
    }
    for(i=0;i<100;i++)//将排序好的指针数组输出
    {
        printf("%d,",p[i]->a);
        printf("%d,",p[i]->b);
        printf("%d/n",p[i]->c);
    }
    return 0;
}

抱歉!评论已关闭.