printf("%d",k);
return 0;
}
给你改了一下,望采纳,谢谢!
#include <stdio.h>
int main()
{
int m,w,c,i,k=0;
for(m=0;m<=15;m++)
{
for (w=0;w<=23;w++)
{
for (c=0;c<=45;c+=2)
{
if ((m+w+c==45)&&(m*3+w*2+c/2==45)){
//k++;
printf("men=%d women=%d child=%d\n",m,w,c);
k++;}
}
}
}
printf("%d",k);
return 0;
}
判断语句没加大括号,k++应该在判断语句if里,也就是
if ((m+w+c==45)&&(m3+w2+c/2==45)){
//k++;
printf("men=%d women=%d child=%d\n",m,w,c);
k++;
}
没加的话这个k++会执行在for循环中,也就是执行了多少次for(c =0;c<=45;c+=2){.......}这段代码
这样改就可以了,把k++放到if的{}里面
#include <stdio.h>
int main()
{
int m, w, c, i, k = 0;
for (m = 0; m <= 15; m++)
{
for (w = 0; w <= 23; w++)
{
for (c = 0; c <= 45; c += 2)
{
if ((m + w + c == 45) && (m * 3 + w * 2 + c / 2 == 45))
{
k++;
printf("men=%d women=%d child=%d\n", m, w, c);
}
}
}
}
printf("%d", k);
return 0;
}