黑客X档案官方论坛's Archiver

lx02774696 发表于 2008-6-25 14:28

很长时间没接触C了  都忘了::07::
意思是看懂了::13::

zhutou 发表于 2008-6-26 16:14

看看这个问题

用40元买苹果,西瓜和梨总共100个,必须三种水果都有,苹果0.4一个,西瓜4员一个.梨0.2,编程输出各购买方案?

wardrone 发表于 2008-6-26 18:21

看我口型:我要看结果啊啊啊啊啊啊啊啊啊 暗暗啊啊

bk7477890 发表于 2008-6-26 19:43

三个FOR循环,基本是吧~

zhutou 发表于 2008-6-27 00:11

#include <stdio.h>
int main()
{

/*定义三个整数,分别用于保存苹果、西瓜、梨的数,其中:
苹果为0到100个;西瓜为0到10个;梨为0到200个*/
int apple,watermelon,pear;
/*定义一个实型变量,保存买水果的钱数*/
float money;
/*用于统计购买方法个数的整数变量*/
int number=0;

printf("用40元钱买苹果、西瓜和梨共100个,且三种水果都有。其结果是:\n");
for (watermelon=1; watermelon<10; watermelon++)

for (apple=1; apple<100; apple++)

for (pear=1; pear<200; pear++)
{

money=apple*0.4+watermelon*4+pear*0.2;
if (money==40.0)
{

number++;
printf("可以买苹果%d个、西瓜%d个、梨%d个。\n",apple,watermelon,pear);

}

}

printf("共有购买方法%d种\n",number);
return 0;

}

ktboy 发表于 2008-6-27 23:48

不知道是我想多了 还是楼主少说了
我分析的
1 2 5 组合相加得10

问题分析:
这个问题要分成
3种算法
第一种是1个参数的
10被1, 2 ,5 除 得计就输出多少次
第二种是2个参数的
选两个参数双循环相加到10
第三种是3个参数的
三重循环相加到10

前面有人做了 但好像楼主没说不能全是1 或2 或5   那就要完全考虑进去了

ktboy 发表于 2008-6-27 23:52

看到答案吃惊啊
他写的是C++吗
结构用的还面向过程的 如果不用面向对象的思想用C++和用C写有什么区别呢
不会就是想把printf变成Cout这么简单吧

雪萧萧 发表于 2008-6-28 00:44

数学的问题  哈哈 本人也不是太懂////////////////////////////////////////////////////////////

aqirui1993 发表于 2008-6-29 09:06

要归递的吧................::07::

Venus 发表于 2008-7-1 15:28

看看答案- -!好像又点难- -!::18:: ::18::

jc65494728 发表于 2008-7-3 10:32

看看哈.......................................................................

jc65494728 发表于 2008-7-3 10:38

只能说.........别说答案写错了,就从效率上讲用三个循环做也是
这种穷举法在去看书吧
作为程序员能自己做的就不要留给cpu去做!!!!!!

yycbxh 发表于 2008-7-3 20:40

sgdfhfghg

茜素 23r2354saff asdgfgdfhh

dongjin86 发表于 2008-7-3 21:09

先看看再说!!!::03:: ::11::

自由飞 发表于 2008-7-3 21:10

kan kan::13:: ::13:: ::13:: ::13:: ::13:: ::13::

musiczhao 发表于 2008-7-8 16:58

学习中,虽然还不会,多看朋友们的大作!!!!!

musiczhao 发表于 2008-7-8 16:59

学习中,虽然还不会,多看朋友们的大作!!!!!

1212ca 发表于 2008-7-10 00:46

// 一元换钢镚.cpp : Defines the entry point for the console application.
//======================================================================
#include "stdafx.h"
#include "iostream.h"
int sum=0;                                                //sum 每多一种分法,sum加1
int five=0;                                                //five 5分
int two=0;                                                //two  2分
int one=0;                        //one  1分
int main()
//----------------------------------------------------------------------
{
        for (five; five<=20; five++){
                for (two; two<=50; two++){
                        for(one; one<=100; one++){
                                if(one+two+five>19 && one+2*two+5*five==100){
                                                cout<<"one:"<<" "<<one<<","<<"two:"<<" "<<two<<","<<"five:"<<five<<endl;
                                                sum++;
                                }
                        }
                        one=0;
                }
                two=0;
        }
        cout <<sum <<endl;
        return 0;
}//======================================================================

cookcookies 发表于 2008-7-11 07:01

kan kan.xue xi xia ::10::

橘子汽水 发表于 2008-7-11 22:37

嘿嘿~~~看看哈`~~~~~~~~~~~~``

页: 1 2 3 4 [5] 6 7 8 9 10 11 12 13


Powered by Discuz! 6.1.0  © 2001-2007 Comsenz Inc.