24小时热门版块排行榜    

查看: 1793  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

飞飞鸟

木虫 (正式写手)

[求助] 诚求一个小C语言的程序,十万火急,谢谢大家

求助一个C语言程序达到以下要求即可:
    12.0107*i+1.0079*j+15.9994*k+14.0067*d=978.7906
其中i,j,k,d必须是整数,29≤i≤40;58≤j≤83;j≤2i+3;17≤k≤30;2≤d≤6;
麻烦了,比较急用呵呵呵谢谢大侠!

[ Last edited by ben_ladeng on 2011-6-20 at 13:14 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

哈哈哈小木虫我又来啦
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaowt9999

金虫 (小有名气)

【答案】应助回帖

★ ★
飞飞鸟(金币+3): 谢谢哈 2011-06-17 16:47:17
jjdg(金币+2): 辛苦了 2011-06-17 22:07:43
此题的解的组数与求解精度有关
例如要求12.0107*i+1.0079*j+15.9994*k+14.0067*d-978.7906<0.1时,有14组解。当精度为0.01时,没有解。

以下是程序:
#include
#include
#include
#include
int i,j,k,d,sum=0;
double fg,a[500][4];
void main()
{
for(i=29;i<=40;i++)
{
        for(j=58;j<=83;j++)
        {
                for(k=17;k<=30;k++)
                {
                        for(d=2;d<=6;d++)
                        {
                           fg=12.0107*i+1.0079*j+15.9994*k+14.0067*d-978.7906;
                           if(fabs(fg)<1e-1&&j<=2*i+3)/*此处可改求解精度例如  1e-2 1e-3 1e-4*/
                           {
                                   a[sum][0]=i;
                                   a[sum][1]=j;
                                   a[sum][2]=k;
                                   a[sum][3]=d;
                                   sum++;                                  
                           }
                  
                        }
       
                }
        }
}
cout<<"方程解的总组数sum="< cout< for(i=0;i {  
        for(j=0;j<4;j++)
                cout<[j]<<"  ";
        cout< }
}
5楼2011-06-17 15:59:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

mengxc

木虫 (著名写手)

【答案】应助回帖

飞飞鸟(金币+1): 不好意思啊,能详细给个小程序吗,谢谢!因为我不是学这方面的 2011-06-17 14:35:11
写个四重的循环,
2楼2011-06-17 14:31:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

harryzs

铜虫 (正式写手)

homework~~???
3楼2011-06-17 15:01:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mengxc

木虫 (著名写手)

【答案】应助回帖

★ ★
飞飞鸟(金币+3): 谢谢 2011-06-17 16:47:00
jjdg(金币+2): 感谢参与 2011-06-17 22:08:05
你确定这个问题有解吗?我算不出结果啊

#include "stdafx.h"
#include "iostream.h"
int main( )
{
        int i,j,k,d;
        for(i=29 ;i<=40;i++)
        {
                for(j=58; j<=83;j++)
                        if(j <= 2*i+3)
                        {
                                for(k=17; k<=30;k++)
                                {
                                        for(d=2;d<=6;d++)
                                        {
                                                if(12.0107*i+1.0079*j+15.9994*k+14.0067*d == 978.7906)
                                                {       
                                                        cout<                                                         cout<                                                         cout<                                                         cout<                                                         //printf("%d %d %d %d\n",i,j,k,d);
                                                }
                                        }
                                }
                        }
        }
       
       
        printf("process finished!\n";
        return 0;
}
4楼2011-06-17 15:25:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见