码迷,mamicode.com
首页 > 编程语言 > 详细

根据结构体的一部分,进行排序,从而对该结构体排序

时间:2016-01-11 19:56:56      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

先附上我写的   不能通过的代码

#include<stdio.h>
#include<algorithm>
using namespace std;
struct arrow
{
    int a,b;
};
bool cmp(arrow a,arrow b)
{
    return a.a<b.a;
}
int main()
{
    arrow jian[555];
    int w,t,n,i,j,m,a,b,c;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        for(i=0;i<n;i++)
            scanf("%d%d",&jian[i].a,&jian[i].b);
        sort(jian.b,jian.b+n,cmp);
        w=0;
        while(n--)
        {
            i=jian[w].a;
            j=jian[w].b;
            w++;
            while(j--)
            {
                int q;
                printf(">+");
                for(q=0;q<i-2;q++)
                {
                    printf("-");
                }
                printf("+>\n");
            }
            printf("\n");
        }
    }
    return 0;
}

下面附上大神的  代码

#include<cstdio>
#include<algorithm>
#define MAXN 35
using namespace std;

struct S{
    int n, l;
};

bool cmp(S a, S b)
{
    return a.l < b.l;
}

int main()
{
    int t, n;
    S s[MAXN];
    scanf("%d", &t);
    while (t--)
    {
        scanf("%d", &n);
        for (int i = 0; i < n; i++)
            scanf("%d%d", &s[i].l, &s[i].n);
        sort(s, s+n, cmp);
        for (int i = 0; i < n; i++)
        {
            for (int k = 0; k < s[i].n; k++)
            {
                printf(">+");
                for (int j = 0; j < s[i].l - 2; j++)
                    printf("-");
                printf("+>\n");
            }
            printf("\n");
        }
    }
    return 0;
}

 

根据结构体的一部分,进行排序,从而对该结构体排序

标签:

原文地址:http://www.cnblogs.com/A-FM/p/5122115.html

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