鸡兔同笼问题
#include<stdio.h>int main()
{
int i = 0, j = 0; //鸡或兔子为0
int n, m;//ntou,mjiao
int chicken, rabbit;//ij
scanf_s("%d %d", &n, &m);
for (i; i <= n; i++)
{
for (j; j <= n; j++)
{
if ((n == i + j) && (m == i * 2 + j * 4))
{
printf("鸡%d兔子%d", i, j);
break;
}
}
if ((n == i + j) && (m == i * 2 + j * 4))
break;
}
if ((n != i + j) || (m != i * 2 + j * 4))
{
printf("不存在");
}
return 0;
}
为什么这个鸡兔同笼问题输入的数字一大就不行,确信输入的数字有解 n代表头的总数,m代表脚的总数 我看看能不能做 #include<stdio.h>
int main()
{
int i = 0, j = 0; //鸡或兔子为0
int n, m;//ntou,mjiao
int chicken, rabbit;//ij
scanf_s("%d %d", &n, &m);
for (i=0; i <= n; i++)
{
for (j=0; j <= n; j++)
{
if ((n == i + j) && (m == i * 2 + j * 4))
{
printf("鸡%d兔子%d", i, j);
break;
}
}
if ((n == i + j) && (m == i * 2 + j * 4))
break;
}
if ((n != i + j) || (m != i * 2 + j * 4))
{
printf("不存在");
}
return 0;
}
我调试出来了噢,发现了错误,内层循环j的值之后一直不变导致的错误,谢谢各位啦 cbxyj 发表于 2020-11-6 00:06
#include
int main()
{
要是还有更简单的麻烦告知噢歇歇 #include <stdio.h>
main(void)
{
int c , f , h , r ;
printf("输入头数和脚数:") ;
scanf("%d%d" , & h , & f) ;
if(f > 2 * h && h > 0 && ! ((f - 2 * h) % 2)) {
r = (f - 2 * h) / 2 ;
c = h - r ;
printf("鸡 %d 只,兔 %d 只\n" , c , r) ;
} else {
printf("头数脚数无解!\n") ;
}
} holy high 好厉害
页:
[1]