当前位置: 代码迷 >> C语言 >> [求助]百马担问题
  详细解决方案

[求助]百马担问题

热度:219   发布时间:2007-02-08 18:29:32.0
[求助]百马担问题

题目是:有100匹马,驮100担货,大马驮3担,中马驮2担,两个小马驮一担.问大,中,小马各有多少匹
我做的
在这我问下mp3aaa斑竹这个问题和我早发的一元换多少个1,2,5分的问题性质是一样的吧

main()
{
int x,y,z;
printf("大马 中马 小马");
for(x=0;x<=32;x++)
for(y=0;y<=48;y++)
for(z=0;z<=95;z++)
if((3*x+2*y+1*z==100)||(x+y+z==100))
printf("%d=%d=%d\n",x,y,z);
getch();
}

这两个取值不一样,那到底按谁的为准呢?
还有运行的结果只能看到后面,前面的看不到,请问有什么办法吗
main()
{
int x,y,z;
printf("大马 中马 小马");
for(x=0;x<=33;x++)
for(y=0;y<=50;y++)
for(z=0;z<=100;z++)
if((3*x+2*y+1*z==100)||(x+y+z==100))
printf("%d=%d=%d\n",x,y,z);
getch();
}

搜索更多相关的解决方案: printf  main  getch  

----------------解决方案--------------------------------------------------------
以下是引用pc新手在2007-2-8 18:29:32的发言:

题目是:有100匹马,驮100担货,大马驮3担,中马驮2担,两个小马驮一担.问大,中,小马各有多少匹
我做的
在这我问下mp3aaa斑竹这个问题和我早发的一元换多少个1,2,5分的问题性质是一样的吧

main()
{
int x,y,z;
printf("大马 中马 小马");
for(x=0;x<=32;x++)
for(y=0;y<=48;y++)
for(z=0;z<=95;z++)
if((3*x+2*y+1*z==100)||(x+y+z==100))
printf("%d=%d=%d\n",x,y,z);
getch();
}

这两个取值不一样,那到底按谁的为准呢?
还有运行的结果只能看到后面,前面的看不到,请问有什么办法吗
main()
{
int x,y,z;
printf("大马 中马 小马");
for(x=0;x<=33;x++)
for(y=0;y<=50;y++)
for(z=0;z<=100;z++)
if((3*x+2*y+1*z==100)||(x+y+z==100))
printf("%d=%d=%d\n",x,y,z);
getch();
}

应该是3*x+2*y+z==100 && x+y+y==100 // 我认为

最后一层循环加
{ if( )
print();


----------------解决方案--------------------------------------------------------
回楼上的3*x+2*y+z==100 和3*x+2*y+1*z==100不是一样的意思,你那个简洁点
可用&&这个结果只有0=0=100肯定是不对的
这个问题mp3aaa斑竹已经讲解
分号加不加不影响结果吧
----------------解决方案--------------------------------------------------------

是啊 跟你上次发的性质是一样的
要想看到全部的结果
你可以把你的运行的结果放在文件里
#include"stdio.h"
main()
{
FILE *fp;
int x,y,z;
if((fp=fopen("d:\\en.txt","a+"))==NULL)
{
puts("不能打开此文件");
exit(0);
}
printf("大马 中马 小马");
for(x=0;x<=33;x++)
for(y=0;y<=50;y++)
for(z=0;z<=100;z++)
if((3*x+2*y+1*z==100)||(x+y+z==100))
fprintf(fp,"%d=%d=%d\n",x,y,z);

}


----------------解决方案--------------------------------------------------------

结果放在你D盘下面 en.txt


----------------解决方案--------------------------------------------------------

谢谢mp3aaa斑竹


----------------解决方案--------------------------------------------------------
以下是引用yangxu0703在2007-2-8 19:04:12的发言:

应该是3*x+2*y+2/z==100 || x+y+y==100


----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include<conio.h>
main()
{
int x,y,z;
printf("大马 中马 小马");
for(x=0;x<=33;x++)
for(y=0;y<=50;y++)
for(z=0;z<=100;z++)
if((3*x+2*y+0.5*z==100)&&(x+y+z==100))
printf("%d=%d=%d\n",x,y,z);
getch();
}
应该是这个吧

----------------解决方案--------------------------------------------------------
  相关解决方案