
用C语言编程百钱买百鸡问题,看看这个编程哪里有问题
#include"stdafx.h"#include"math.h"voidmain(){inta,b,c;for(a=0;a<20;a++){for(b=0;b<33;...
#include "stdafx.h"
#include"math.h"
void main()
{
int a,b,c;
for(a=0;a<20;a++)
{
for(b=0;b<33;b++)
{
c=100-a-b;
if((a+b+c==100)&&(c%3==0))
{
printf("%d %d %d\n",a,b,c);
}
}
}
}
C++ 展开
#include"math.h"
void main()
{
int a,b,c;
for(a=0;a<20;a++)
{
for(b=0;b<33;b++)
{
c=100-a-b;
if((a+b+c==100)&&(c%3==0))
{
printf("%d %d %d\n",a,b,c);
}
}
}
}
C++ 展开
展开全部
你的约束条件不对。
第一 :if 判断中的条件,第一个 a+b+c==100是多余的,因为上面已经有一个c=100-a-b了。
第二:百钱买百鸡,那个“百钱”的约束到哪去了啊~~??
第三:你的头文件是怎么回事啊……都是不需要包含的头文件吧……
#include<stdio.h>
void main()
{
int g,m,c;//1个c是三只小鸡
puts("公、母、雏的个数可以分别为:");
for(g=0;g<=20;g++)
for(m=0;m<=33;m++)
for(c=0;c<=100;c++)
if(5*g+3*m+c==100)
printf("%-4d%-4d%-4d\t",g,m,3*c);
}
第一 :if 判断中的条件,第一个 a+b+c==100是多余的,因为上面已经有一个c=100-a-b了。
第二:百钱买百鸡,那个“百钱”的约束到哪去了啊~~??
第三:你的头文件是怎么回事啊……都是不需要包含的头文件吧……
#include<stdio.h>
void main()
{
int g,m,c;//1个c是三只小鸡
puts("公、母、雏的个数可以分别为:");
for(g=0;g<=20;g++)
for(m=0;m<=33;m++)
for(c=0;c<=100;c++)
if(5*g+3*m+c==100)
printf("%-4d%-4d%-4d\t",g,m,3*c);
}
展开全部
if条件句改为
if(c%3==0&&5*a+3*b+c/3*1==100)可以了
因为你的上一条语句c=100-a-b;已经确保a+b+c=100了,所以此条件在if中多余,但是你没有利用100元钱这个条件
if(c%3==0&&5*a+3*b+c/3*1==100)可以了
因为你的上一条语句c=100-a-b;已经确保a+b+c=100了,所以此条件在if中多余,但是你没有利用100元钱这个条件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
头文件都错了,if语句还有多余约束条件,该有的约束条件又没有
#include <stdio.h>
int main()
{
int a,b,c;
for(a = 0; a <= 100 / 5; a++)
{
for(b = 0; b <= (100 - a * 5) / 3; b++)
{
c = (100 - a*5 - b*3) * 3;
if(a + b + c == 100)
printf("公鸡有%d只,母鸡有%d只,小鸡有%d只\n", a, b,c);
}
}
}
#include <stdio.h>
int main()
{
int a,b,c;
for(a = 0; a <= 100 / 5; a++)
{
for(b = 0; b <= (100 - a * 5) / 3; b++)
{
c = (100 - a*5 - b*3) * 3;
if(a + b + c == 100)
printf("公鸡有%d只,母鸡有%d只,小鸡有%d只\n", a, b,c);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有看出有什么问题,你的编译器有什么解释吗?
追问
你运行出结果吗?我的运行出很多结果。
追答
惭愧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询