妖怪题材的动漫:C++里的问题!!!!!!

来源:百度文库 编辑:高校问答 时间:2024/05/06 05:00:18
老师让我编个小程序,都用最基本的语言(我刚学到循环):要求用100块钱买100只鸡,而鸡的价格是固定的:公鸡5块/只、母鸡3块/只、小鸡0.5块/只,编出程序用来计算公鸡、母鸡、小鸡各自的数目

两位答案都很好,不过用的着循环那么多次嘛? 100元钱全买公鸡也就能买20只,买30只母鸡还剩10元不可能在买70只鸡了所以循环30次够多的了
程序要是大的话影响速度哦。斗胆改动一下jimsons的程序
#include<iostream.h>
void main()
{
int a,b,c;//a是公鸡,b是母鸡,c是小鸡
for(a=0;a<20;a++)
for(b=0;b<30;b++)
{
c=100-a-b;
if((a*5+b*3+c*0.5)==100)
cout<<a<<" "<<b<<" "<<c<<endl;
}
}

#include<iostream.h>
void main()
{
int a,b,c;//a是公鸡,b是母鸡,c是小鸡
for(a=0;a<100;a++)
for(b=0;b<100;b++)
for(c=0;c<100;c++)
if( a+b+c=100 && a*5+b*3+c*0.5=100)
cout<<a<<" "<<b<<" "<<c<<endl;

}

这个程序好象算得太多了,用了3重循环结构,不知有没有更简单的方法。
算得的答案为:
0 20 80
5 11 84
10 2 88

对一楼进行优化
#include<iostream.h>
int main()
{
int a,b,c;//a是公鸡,b是母鸡,c是小鸡
for(a=0;a<100;a++)
for(b=0;b<100;b++)
{
c=100-a-b;
if((a*5+b*3+c*0.5)==100)
cout<<a<<" "<<b<<" "<<c<<endl;
}
system("PAUSE");
return 0;
}
答案:
0 20 80
5 11 84
10 2 88

jimsons果然是高手

二楼高手,不知能不能与您交个朋友!

改的总比先前好一些!