当前位置: 代码迷 >> C语言 >> [求助]怎样编辑这个题目
  详细解决方案

[求助]怎样编辑这个题目

热度:103   发布时间:2007-10-12 15:19:53.0
以下是引用kingkong6358在2007-10-12 15:14:41的发言:
刚才那个问题解决了,BUT
#include "stdio.h"
main()
{
int x,y,t,f;
if(t=30,f=100);
for(x=1;x<=30;x++)
for(y=1;y<30;y++)
if(x+y==t && 2*x+4*y==f);
printf("x=%d,y=%d",t,f,x,y);
}
我按照这个,出现的答案是x=30,y=100
为什么呢?

if(t=30,f=100);
这句又不对了。。。


----------------解决方案--------------------------------------------------------
以下是引用xindeluoye在2007-10-12 15:18:42的发言:
"if(t=30,f=100);"这句应该是
t=30,f=100;

这个都无所谓
不会影响结果
只是会引起歧义而已


----------------解决方案--------------------------------------------------------
以下是引用kingkong6358在2007-10-12 15:19:43的发言:

我已经改了

能正确输出了没?


----------------解决方案--------------------------------------------------------
以下是引用kingkong6358在2007-10-12 15:17:15的发言:
#include "stdio.h"
main()
{
int x,y,t,f;
if(t==30 && f==100); /* t = 30; f = 100; */
for(x=1;x<=30;x++)
for(y=1;y<30;y++)
if(x+y==t && 2*x+4*y==f);
printf("x=%d,y=%d",x,y);
}
而这个的答案则是x=31,y=30


----------------解决方案--------------------------------------------------------
#include "stdio.h"
main()
{
int x,y,t,f;
t=30,f=100;
for(x=1;x<=30;x++)
for(y=1;y<30;y++)
if(x+y==t && 2*x+4*y==f);
printf("x=%d,y=%d",x,y);
}
答案也是和17楼的一样
----------------解决方案--------------------------------------------------------
输出的x答案错误
----------------解决方案--------------------------------------------------------

以下是引用kingkong6358在2007-10-12 15:24:41的发言:
#include "stdio.h"
main()
{
int x,y,t,f;
t=30,f=100;
for(x=1;x<=30;x++)
for(y=1;y<30;y++)
if(x+y==t && 2*x+4*y==f);
printf("x=%d,y=%d",x,y);
}
答案也是和17楼的一样
找到解了以后要break退出for循环

----------------解决方案--------------------------------------------------------
以下是引用kingkong6358在2007-10-12 15:24:41的发言:
#include "stdio.h"
main()
{
int x,y,t,f;
t=30,f=100;
for(x=1;x<=30;x++)
for(y=1;y<30;y++)
if(x+y==t && 2*x+4*y==f);
printf("x=%d,y=%d",x,y);
}
答案也是和17楼的一样

退出循环是为了效率
最主要的错误在这里
把分号去掉


----------------解决方案--------------------------------------------------------
以下是引用succubus在2007-10-12 15:30:50的发言:
找到解了以后要break退出for循环

不明白


----------------解决方案--------------------------------------------------------
以下是引用kingkong6358在2007-10-12 15:32:50的发言:

不明白

那就可以先忽略
等你学到break就知道了
反正不影响结果


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