另一道C程序问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 16:54:10
下面程序的功能是完成用一元人民币换成一分、两分、五分的所有兑换方案,请填空
#include <stdio.h>
main( )
{ int I,j,k,l=1;
for (I=0;I<=20;I++)
for (j=0;j<=50;j++)
{ k= [1];
if ( [2] )
{ printf(“ %2d %2d %2d “,I,j,k);
l=l+1;
if (l%5==0) printf(“\n”);
}
}

}
我始终都没想出来到底怎么填写?没看懂?看了4遍了,还是没弄懂。你能解释一下这个程序的意思吗?大概说一下填写思路吗?
应该如何正确填写?
100-5*I-2*j
(5*I+2*j+k==100)&&k>=0
你看I是从0到20表明i是5分,那么j表示的就是2分,k就是1分了
这里由于没有初始化k,所以不能k++;
本人不是很明白?可以再说的详细一点吗?

#include <stdio.h>
main( )
{ int I,j,k,l=1;
for (I=0;I<=20;I++)
for (j=0;j<=50;j++)
{ k= 100-5*I-2*j;
if ( k>=0)
{ printf(“ %2d %2d %2d “,I,j,k);
l=l+1;
if (l%5==0) printf(“\n”);
}
}
}
k=100-5*I-2*j;//这句是程序
先通过I和j的值算出满足方程
5*I+2*j+k=100//这是方程,不是程序
的所有k的值,再结合实际情况,k非负
这里的每个k都是由运算得来的,所以不用初始化
似曾相识。。。

1元=100分……
#include <stdio.h>
main( )
{ int I,j,k=0,l=0;
for (I=0;I<=20;I++)
for (j=0;j<=50;j++)
{ for(k=0;k<=100;k++)
if ((5*I+2*j+k==100) )
{ printf(" %2d %2d %2d ",I,j,k);
l=l+1;
if (l%5==0) printf("\n");
}
}

}