C语言求教。。。。。。

一个马戏团表演,n个座位全满,全部门票收入是120元,现在知道,男人每人5元,女人每人2元,小孩每人1角。编程,输入总人数n,输出满足要求的男人、女人和小孩人数的全部方案... 一个马戏团表演, n 个座位全满,全部门票收入是 120 元,现在知道,男人每人 5 元,女人每人 2 元,小孩每人 1 角。编程,输入总人数 n ,输出满足要求的男人、女人和小孩人数的全部方案。若 n 人无法满足条件,则输出“No output\n”。

输入: 人数 n

输出: 男人、女人和小孩人数
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{int n,i,j,k,m;
scanf("%d",&n);
m=0;
for(i=0;i<=24;i++){
for(j=0;j<=n-i;j++){
k=n-i-j;
if(5*i+2*j+0.1*k==120){
printf("%d,%d,%d\n",i,j,k);
m=1;}
}
}
if(m==0){
printf("No output\n");}

system("PAUSE");
return 0;
} 为什么输入60 只能输出一组0,60,0 呢?应该还有一组19,11,30啊???
展开
 我来答
百度网友d42b18334
2012-04-19 · TA获得超过329个赞
知道答主
回答量:112
采纳率:0%
帮助的人:84.9万
展开全部
DEV C++编译器问题吧,楼主解决方式很简单
等式左右两边都乘以10
假设男人60元,女人20元,小孩1元,这时候都为Int,可以回避运算时候的类型不同强制转换的问题。
应该是运算强制转换时候将pass所有小孩人数大于0时候的情况
追问
厉害厉害,我明白了。谢谢啦。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
滴冰的水
2012-04-19 · TA获得超过1040个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:322万
展开全部
我复制了你的代码,进行了调试,是输出了两组啊。。。。你看错了吧
更多追问追答
追问
没错啊,我用的是Dev c++
追答
我已经测试过可以了,没截图,有别的问题可以问我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一变班爱麻啊堡0J
高粉答主

2020-01-13 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5507万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lyhdez1
2012-04-19 · TA获得超过1942个赞
知道小有建树答主
回答量:687
采纳率:100%
帮助的人:831万
展开全部
可以输出19,11,30啊
更多追问追答
追问
啊?!……我也不知道我的为什么不行。我用的Dev c++.
追答
又是一个蛋疼的问题。不过我测试过了,在vc里可以通过,在dev c++和gcc不通过。这应该是vc的问题,因为后两者是支持标准c++的。所以你将程序改改,120改为120.0试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
简简单单217
2012-04-19 · 超过18用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:50.8万
展开全部

为什么我这里可以呢?你那里有什么提示?

更多追问追答
追问
我的只能输出0,60,0也不知道为什么。。。。。。
追答
我用的是vc,你那里没有什么提示吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式