搜索
查看: 1132|回复: 12
打印 上一主题 下一主题

P1003不高兴的津津 题解

[复制链接]
跳转到指定楼层
楼主
发表于 2015-10-24 09:43:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
没有什么难点,可能不知道的就是qsort吧[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>

typedef struct
{
    int number;
    int lesson;
}DAY;

int downsort(const void *a, const void *b)
{
    if((*(DAY*)a).lesson != (*(DAY*)b).lesson)
        return (*(DAY*)b).lesson - (*(DAY*)a).lesson;
    return (*(DAY*)a).number - (*(DAY*)a).number;
}

int main()
{
    DAY day[7];
    int t[7], i;
   
    for(i = 0;i < 7;i ++)
    {
        scanf("%d %d", &day.lesson, &t);
        day.lesson += t;
        day.number = i + 1;
    }
    qsort(day, 7, sizeof(day[0]), downsort);
    printf("%d", day[0].number);
   
    getchar(), getchar();
    return 0;
}[/mw_shl_code]
沙发
发表于 2015-10-25 14:32:40 | 只看该作者
这是快排?
板凳
 楼主| 发表于 2015-10-25 20:01:43 | 只看该作者

对的      
地板
发表于 2015-10-27 21:12:36 | 只看该作者
我一直用冒泡排序。。。
5#
发表于 2015-12-26 14:18:58 | 只看该作者
[mw_shl_code=c,true]#include <stdio.h>
int main()
{
         int a[7],b[7],c[7],fkday[7],i,flag=0;
         for(i=0;i<7;i++)
         {
                fkday=0;
         }

         for(i=0;i<7;i++)
         {
                scanf("%d %d",a+i,b+i);
                if(a>10||b>10||a<0||b<0)
                {
                        return;
                }
                c=a+b;
                if(c>8)
                {
                        fkday=c;
                        flag=1;
                }
         }
        if(flag=1)
        {
         for(i=0;i<7;i++)
         {
                if(fkday!=0)
                {
                        printf("%d\n",i+1);
                        break;
                }
         }
        }else
        {
                printf("%d",flag);
        }

         return 0;
}[/mw_shl_code]
6#
发表于 2016-1-2 10:40:11 | 只看该作者
现在都用algorithm库里面的sort,也是快排,更强大,支持自己定义的结构体
7#
发表于 2016-1-2 10:40:37 | 只看该作者
补充,当然是C++了,这是C++的特权
8#
发表于 2016-7-23 20:47:52 | 只看该作者
为什么我用桶排只有超限
9#
发表于 2016-7-24 09:38:44 | 只看该作者
本帖最后由 lzl2333 于 2016-7-24 09:42 编辑

其实好像这样就可以了
#include<stdio.h>
int main()
{
    int i,a,b,c,comp=0,d=0;
    for(i=1;i<8;i++)
    {
        scanf("%d %d",&a,&b);
        c=a+b;
        if(c>d)
        {
            comp=i;
            d=c;
        }
    }
    if(d<=8)
      c=0;
    else
      c=comp;
    printf("%d",c);
    getchar();getchar();
    return 0;
}

好像不需要排序吧
10#
发表于 2016-10-6 17:31:21 | 只看该作者
推荐人发表于 2016-1-2 10:40:37
我一直用冒泡排序。。。
冒排浪费时间
lzl2333发表于 2016-7-23 20:47:52
为什么我用桶排只有超限
桶排浪费时间
推荐人 2016-1-2 10:40:11
现在都用algorithm库里面的sort,也是快排,更强大,支持自己定义的结构体
我喜欢快排
11#
发表于 2016-11-9 20:24:30 | 只看该作者
qwq %楼上诸位dalao
12#
发表于 2016-11-9 20:57:59 | 只看该作者
为什么要这么复杂?
这样就是满分。[mw_shl_code=c,true]#include <stdio.h>
int main()
{
    int i,a[15],b[15],c[15];
    for(i=1;i<=7;i++)
        scanf("%d %d",&a,&b);
    for(i=1;i<=7;i++)
        c=a+b;
    for(i=1;i<=7;i++)
        if(c>8)
        {
            printf("%d",i);
            break;
        }
    return 0;
}
[/mw_shl_code]
13#
发表于 2017-1-2 14:29:19 | 只看该作者
[mw_shl_code=c,true]#include<stdio.h>
int main(){
    int a[8],i,b,c;
    for(i=1;i<8;i++){
        scanf("%d%d",&b,&c);
        a=b+c;
    }
    b=1;
    for(i=2;i<8;i++){
        if(a>a)b=i;
    }
    if(a>8)printf("%d",b);
    else printf("0");
    return 0;
}[/mw_shl_code]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表