1.开始时
输出结果错误
2.发现:
在x=0循环后,y的值为n/3,然后x++,这样当x=1时,y还是为n/3,这样y的值会在x=1的循环后固定为n/3,显然,这样与思路不符。
3.改正方法
在内层for循环后加上y=0。
4.改正
#include<iostream>
using namespace std;
int main()
{
int x=0,y=0,z=0;
int n;
cin>>n;
for(;x<=n/5;x++)
{
for(;y<=n/3;y++)
{
z=3*(n-5*x-3*y);
if(x+y+z==100)
cout<<"x="<<x<<","<<"y="<<y<<","<<"z="<<z<<endl;
}
y=0;
}
return 0;
}
运行成功