如何把下面的代码从只输出一组情况到输出全部情况呢?
#include<stdio.h>int main(void)
{
int flag,money,x,y,z;
flag=1;
for(x=100/5;(x>=0)&&(flag==1);x--){
for(y=(100-x*5)/3;(y>=0)&&(flag==1);y--){
for(z=(100-x*5-y*3)*3;(z>=0)&&(flag==1);z--){
if((x+y+z==100)&&((x*5+y*3+z/3)==100)&&z%3==0){
printf("x=%d,y=%d,z=%d\n",x,y,z);
flag=0;
}
}
}
}
}
题目是公鸡5元一只,母鸡3元一只,小鸡1元3只,花100元,要买100只鸡 本帖最后由 傻眼貓咪 于 2021-10-25 21:16 编辑
#include <stdio.h>
int main()
{
for(int i = 0; i <= 100; i++){
for(int j = 0; j <= 100; j++){
for(int k = 3; k <= 100; k += 3){
if(i*5+j*3+(k/3) == 100 && i+j+k == 100){
printf("公鸡:%d只,母鸡:%d只,小鸡:%d只\n", i, j, k);
}
}
}
}
return 0;
}公鸡:0只,母鸡:25只,小鸡:75只
公鸡:4只,母鸡:18只,小鸡:78只
公鸡:8只,母鸡:11只,小鸡:81只
公鸡:12只,母鸡:4只,小鸡:84只 #include <stdio.h>
main(void)
{
int n , x , y , z ;
for(n = 0 , x = 0 ; x * 5 <= 100 ; x ++) {
for(y = 0 ; y * 3 + x <= 100 ; y ++) {
z = 100 - x * 5 - y * 3 ;
if(x + y + z * 3 == 100) {
n ++ ;
printf("%3d : x = %2d , y = %2d , z = %2d\n" , n , x , y , z * 3) ;
}
}
}
}
编译、运行实况:
I:\00.2021\.Exercise\00.C\百钱买百鸡>g++ -o x x.c
I:\00.2021\.Exercise\00.C\百钱买百鸡>x
1 : x =0 , y = 25 , z = 75
2 : x =4 , y = 18 , z = 78
3 : x =8 , y = 11 , z = 81
4 : x = 12 , y =4 , z = 84
I:\00.2021\.Exercise\00.C\百钱买百鸡>
页:
[1]