标题:求大侠帮忙做个window的程序。。。不胜感激,以身相许都可以啊~~~
只看楼主
cddazao
Rank: 2
来 自:四川
等 级:论坛游民
帖 子:46
专家分:25
注 册:2013-2-12
得分:0 
#include"stdio.h"
int main()
{
    int a,b,c,d,M;
    printf("输入一个M值(700≤m≤2000):");
    scanf("%d",&M);
    for(a=1;a<=12;a++)
    for(b=1;b<=12;b++)
    for(c=1;c<=12;c++)
    for(d=1;d<=12;d++)
        if((605+102*a+87*b+122.5*c+108.5*d)<=(M+1)&&(605+102*a+87*b+122.5*c+108.5*d)>=(M-1))
        printf("a=%d b=%d c=%d d=%d\n",a,b,c,d);
    if(a==13)
        printf("没有更多满足条件的a,b,c,d");
}

以身相许就不必了,给爷笑个就成

[ 本帖最后由 cddazao 于 2013-2-14 15:19 编辑 ]
2013-02-14 15:17
xdsnet
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2013-2-27
得分:0 
楼主的问题描述其实很不准确,可能会影响到结果范围
如:
我理想的程序是这样的:输入一个M值(范围在700-2000之间)包括700或者2000不?
要求程序给预测abcd四个值,abcd均为正整数【是正整数还是非负整数?】,而且范围一般在(0-12之间)包括0或者12不?
因为你的公式是含有小数点,及有非负整数,如果直接套用公式,会存在浮点数比较问题,建议在公式两边(包括后面的不等式)同时乘2,或者同时乘10形成整数计算,这样结果更准确:即
给定M,求a、b、c、d,满足
2M-2<= 1210+204a+174b+245c+361d <= 2M+2
700<=M<=2000
a\b\c\d为小于12的非负整数(含12)
这样再采用cddazao的代码进行遍历匹配(因为数据可能较小,直接用遍历比较方便,算法实现简单)
2013-02-27 21:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-393434-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.301227 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved