| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1672 人关注过本帖
标题:求教!有7个数据,如何循环加减求值?
只看楼主 加入收藏
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
结帖率:97.06%
收藏
已结贴  问题点数:70 回复次数:14 
求教!有7个数据,如何循环加减求值?
已知:     数据:m0,m1,m2,m3,m4,m5,m6,      数据:n0,n1,n2,n3,n4,n5,n6;

编程计算:
1: m0/n0;
2: (m0+m1)/(n0+n1); (m0-m1)/(n0-n1);  
3: (m0+m1+m2)/(n0+n1+n2);  (m0+m1-m2)/(n0+n1-n2);  (m0-m1+m2)/(n0-n1+n2);  (m0-m1-m2)/(n0-n1-n2);
4:
5:
6:
7:
1是1个数;2是2个数;3是3个数;。。。。。。
         
搜索更多相关主题的帖子: 如何 
2017-02-22 08:13
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
数据类型?
可用数组
2017-02-22 08:21
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
回复 2楼 吹水佬
数据类型int或float,可以使用数组;
2017-02-22 08:27
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
想到一个思路:
int   a[2]={1,1,-1,-1};  b[2]={1,-1,1,-1};
for(i=0,i<4;i++)
for(j=0,j<4;j++)

3个数: (m0+m1*a[i]+m2*a[j])/(n0+n1*a[i]+n2*a[j]);  
2017-02-22 08:58
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
你是只要7个数的64个结果,还是要k个数的2^(k-1)个结果?

程序代码:
#include <stdio.h>
#include <assert.h>
#include <limits.h>

void foo( unsigned k, const double m[], const double n[] )
{
    assert( k!=0 && k<sizeof(k)*CHAR_BIT );

    for( unsigned i=0; i!=1u<<(k-1); ++i )
    {
#ifndef NDEBUG
        printf( "(m0" );
        for( unsigned j=1; j!=k; ++j )
            printf( "%cm%u", "+-"[(i&(1u<<(k-j-1)))!=0], j );
        printf( ")/(n0" );
        for( unsigned j=1; j!=k; ++j )
            printf( "%cn%u", "+-"[(i&(1u<<(k-j-1)))!=0], j );
        printf( ") = " );
#endif

//#ifndef NDEBUG
//        printf( "(%g", m[0] );
//        for( unsigned j=1; j!=k; ++j )
//            printf( "%c%g", "+-"[(i&(1u<<(k-j-1)))!=0], m[j] );
//        printf( ")/(%g", n[0] );
//        for( unsigned j=1; j!=k; ++j )
//            printf( "%c%g", "+-"[(i&(1u<<(k-j-1)))!=0], n[j] );
//        printf( ") = " );
//#endif

        double a=m[0], b=n[0];
        for( unsigned j=1; j!=k; ++j )
        {
            a += m[j] * ( (i&(1u<<(k-j-1)))==0 ? +1 : -1 );
            b += n[j] * ( (i&(1u<<(k-j-1)))==0 ? +1 : -1 );
        }
        printf( "%+lf\n", 0.0+a/b );
    }
}

int main( void )
{
    double m[] = { 1, 2, 3, 4, 5, 6, 7 };
    double n[] = { 8, 9, 10, 11, 12, 13, 14 };
    foo( 7, m, n );

    return 0;
}


2017-02-22 09:03
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
7个数的64个结果或k个数的2^(k-1)个结果;

[此贴子已经被作者于2017-2-22 09:31编辑过]

2017-02-22 09:08
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
例如:是循环计算求值:(m0+m1)/(n0+n1) ; (m0-m1)/(n0-n1);不是 输出代数式:(m0+m1)/(n0+n1); (m0-m1)/(n0-n1);  
2017-02-22 09:54
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 

a[8]={1,1,1,1,-1,-1,-1,-1};b[8]={1,1,-1,-1,1,1,-1,-1};c[8]={1,-1,1,-1,1,-1,1,-1};

for(i=0;i<8;i++)
for(j=0;j<8;j++)
for(k=0;k<8;k++)

4个数:(m0+m1*a[i]+m2*b[j]+m3*c[k])/(n0+n1*a[i]+n2*b[j]+n3*c[k])

这样道理简单,但程序复杂;

2017-02-22 10:09
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
是不是这样子:
    int m[7]={7,6,5,4,3,2,1};
    int n[7]={22,6,5,4,3,2,1};
图片附件: 游客没有浏览图片的权限,请 登录注册
2017-02-22 10:15
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
这样也行,程序里,主要用的是计算数值,即:例如:0.464286,0.062500,

[此贴子已经被作者于2017-2-22 10:21编辑过]

2017-02-22 10:19
快速回复:求教!有7个数据,如何循环加减求值?
数据加载中...
 
   



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

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