刚才那个问题解决了,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);
这句又不对了。。。
----------------解决方案--------------------------------------------------------
"if(t=30,f=100);"这句应该是
t=30,f=100;
这个都无所谓
不会影响结果
只是会引起歧义而已
----------------解决方案--------------------------------------------------------
我已经改了
能正确输出了没?
----------------解决方案--------------------------------------------------------
#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答案错误
----------------解决方案--------------------------------------------------------
#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楼的一样
----------------解决方案--------------------------------------------------------
#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循环
不明白
----------------解决方案--------------------------------------------------------
不明白
那就可以先忽略
等你学到break就知道了
反正不影响结果
----------------解决方案--------------------------------------------------------