qq_27158501 2021-10-16 18:05 采纳率: 80%
浏览 30
已结题

鸡兔同笼问题c语言不知道哪里有错

Chicken and Rabbit Cage
Chicken and Rabbits are in the same cage, the total heads of them is m, the total legs of them is n.
Input m and n; <=100000000;
Output the number of chicken and rabbit.
If the number isn't right , output "You count wrong!"
Input
input two integers m and n;
Output
two integers:the number of chicken and rabbits.
Sample Input
14 32
Sample Output
12 2
代码:
#include <stdio.h>

int main(){
int m,n,chi,rab;
scanf("%d %d", &m , &n);
if(n % 2 !=0 || n <= 2m || n >= 4m){
printf("You count wrong!");
return 0;
}
for(chi = 1; chi <= m; chi++){
for(rab = 1;rab <= m;rab++){
if(2*chi + 4 * rab == n && chi + rab == m){
printf("%d %d",chi,rab);
break;
}

    }
    }
    return 0;

}为什么我这个提交上去显示答案错误

  • 写回答

1条回答 默认 最新

  • 一指哥 2021-10-16 19:12
    关注

    1、上述做法不够严谨, 首先m,n是可以等于0的,并且得大于0,要么采用无符号形,另外根据题目得加入<=100000000的判断
    2、用1层循环就可以了, rab = m - chi,并且循环从0开始(2重循环也没错,性能低)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月26日
  • 已采纳回答 10月18日
  • 创建了问题 10月16日

悬赏问题

  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画