| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2153 人关注过本帖
标题:一道编程题,求指导
取消只看楼主 加入收藏
岑吼吼
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-5-10
结帖率:75%
收藏
已结贴  问题点数:18 回复次数:9 
一道编程题,求指导
Cyin拿到TX的第一份工资,马上实施他的购书计划了。算法已经不能满足cyin了,他打算称霸数据挖掘领域。但TX太抠了,Cyin的购书计划不能一步到位。于是,Cyin打算用尽可能多的钱来买书。请聪明的你,算算Cyin最多能花多少钱?
Input
第一行S,表示Cyin的工资(0 < S < 2000)
第二行n, 表示书的种类(0< n < 2000)
第三行有n个整数,表示每本书的价格pi ( pi <= S)
多组数据输入,且所有数据均为整数。
Output
输出cyin最多能花多少钱,并换行。
Sample Input
5
2
3 4
10
5
2 3 4 4 5
Sample Output
4
10


我有一个想法,但是写出来验证了很多次之后发现不能满足要求,
所以希望大家提供提供自己的思路,如何才能算出最多能花的钱?

还有一个问题:
程序代码:
while(scanf("") != EOF)      //作为输入
{
....
}
printf("");                        //作为输出

想要输出的话,要怎么结束输入,我试过Ctrl +Z,但是整个程序都结束了
搜索更多相关主题的帖子: 计划 领域 买书 种类 
2014-05-12 14:30
岑吼吼
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-5-10
收藏
得分:0 
回复 2 楼 top398
我写的不能算出最多能花的钱,满足不了题目的要求
程序代码:
# include <stdio.h>

int main(void)
{
    int wage;
    int n;
    int i,j;
    int a[2000], b[2000] = {0};
    int temp;
    int money,count;
    int sum = 0;

    while(scanf("%d", &wage) != EOF)    //工资
    {
        scanf("%d", &n);        //书的种类

        for(i=0; i<n; i++)      //书的价钱
        {
            scanf("%d", &a[i]);
        }

        for(i=0; i<n; i++)          //价钱由高到低排列
        {
            for(j=0; j<n-1-i; j++)
            {
                if(a[j] < a[j+1])
                {
                    temp =  a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
            }
        }

        money = wage;
        sum = 0;
        for(i=0;i<n;i++)                          //这段是自己的想法,检验是错误滴.
        {
            while(money)
            {
                if(money >= a[i])
                {
                    money = money - a[i];
                    sum = sum + a[i];
                }
                else
                {
                    break;
                }
            }
        }

        b[i] = sum;

        ++count;
    }

    for(i=0; i<count; i++)
    {
        printf("%d\n", b[i]);
    }

    return 0;
}


学生一枚,不太懂这些公司的东西~
2014-05-12 14:59
岑吼吼
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-5-10
收藏
得分:0 
回复 6 楼 kwxx
我试试吧,我也想不出了有什么方法,谢谢啦
2014-05-12 17:04
岑吼吼
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-5-10
收藏
得分:0 
回复 7 楼 top398
嗯,我先去试试
2014-05-12 17:05
岑吼吼
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-5-10
收藏
得分:0 
回复 10 楼 刘欣 2
可以重复买一本书吗?
2014-05-14 17:16
岑吼吼
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-5-10
收藏
得分:0 
回复 11 楼 ditg
我没明白,入门不深
2014-05-14 17:16
岑吼吼
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-5-10
收藏
得分:0 
回复 16 楼 ditg
还是不太懂,等之后学到这个先
2014-05-14 20:10
岑吼吼
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-5-10
收藏
得分:0 
回复 10 楼 刘欣 2
我按照你的想法写出来,好像不太对,你有代码能让我参考参考吗
2014-05-14 20:12
岑吼吼
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-5-10
收藏
得分:0 
回复 20 楼 top398
是对的,是不是因为运用递归,提交到测试系统的时候显示超时了
2014-05-15 11:45
岑吼吼
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-5-10
收藏
得分:0 
回复 32 楼 azzbcc
版主这个是自己想出来的吗,还是经验?虽然只有几行,试数的时候花了不少时间
2014-05-15 17:28
快速回复:一道编程题,求指导
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013750 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved