| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
买学问 - 大佬一对一辅导,有问必答买学问 - 专业的付费知识问答平台
共有 246 人关注过本帖
标题:数组分段求和
只看楼主 加入收藏
zzmx
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2020-2-4
结帖率:75%
收藏
已结贴  问题点数:14 回复次数:4 
数组分段求和
假设数组a有1152个数,我想按照顺序每100个数算一个和,求一个平均值,该如何实现?
搜索更多相关主题的帖子: 平均值 个数 数组 分段 求和 
2021-09-15 10:24
不会游泳的虾
Rank: 2
等 级:论坛游民
威 望:1
帖 子:10
专家分:33
注 册:2021-7-1
收藏
得分:4 
供参考:
程序代码:
//假设数组a有1152个数,我想按照顺序每100个数算一个和,求一个平均值,该如何实现?

//假设数组a有1152个数,我想按照顺序每100个数算一个和,求一个平均值,该如何实现?

#include<stdio.h>
#include<time.h>
#include <stdlib.h>
int main()
{
    int a[1152], i, k, c, s[13] = { 0 };
    srand((unsigned int)time(NULL));
    for (i = 0, k = 0, c = 0; i < 1152; i++) {
        a[i] = rand() % 150 + 1;
        s[k] += a[i];
        c++;
        if (c == 100) {
            k++;
            c = 0;
        }
    }
    for (i = 0; i < k; i++){
        printf(" %c %d",i==0?'(':'+', s[i]);
        s[12] += s[i];
    }
    printf(" ) / %d = %d \n",k, s[12] / k);
    return 0;
}
2021-09-15 11:19
自由而无用
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:11
帖 子:290
专家分:971
注 册:2021-8-9
收藏
得分:4 
//online parser: https://www.bccn.net/run/
程序代码:
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
    char c[12][100];
    int i, j, sum;
    
    memcpy(c, main, 1152);
    
    for(i = 0; i < 12; i++) {
        for(j = 0, sum = 0; j < sizeof(c[i]); j++) sum += c[i][j];
        printf("%02d: sum = %d, avr = %d\n", i + 1, sum, sum / 100);
    }
    
    return 0;
}


[此贴子已经被作者于2021-9-15 17:34编辑过]

2021-09-15 17:16
我善治鬼
Rank: 4
等 级:贵宾
威 望:13
帖 子:90
专家分:141
注 册:2015-2-16
收藏
得分:4 
程序代码:

#include <stdio.h>

#define N 1152

int main()
{
    int sum = 0;
    for (int i = 0, j; i < N; i++) {
        sum += i;
        j = (i + 1) % 100;
        if (j == 0 || i == N - 1) {
            if (j == 0) j = 100;
            printf("%d / %d = %d\n\n", i, j, sum / j);
            sum = 0;
        }
        else printf("%d + ", i);
    }
    return 0;
}


2021-09-17 14:13
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:61
帖 子:515
专家分:3358
注 册:2019-7-29
收藏
得分:4 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    unsigned int num_all,num_one,num_current,group,i,j;
    float *a,sum;
    printf("请输入总个数及每组个数:");
    scanf("%u %u",&num_all,&num_one);
    a=malloc(num_all*sizeof(float));

    srand((unsigned int)time(NULL));    //模拟数据
    for(i=0; i<num_all; i++)
        *(a+i)=rand();

    group=num_all/num_one;
    if(num_all%num_one!=0)
        group+=1;

    for(j=0; j<group; j++)
    {
        sum=0;
        if(j+1==group)
        {
            if(num_all%num_one!=0)
                num_current=num_all%num_one;
        }
        else
        {
            num_current=num_one;
        }

        for(i=0; i<num_current; i++)
        {
            sum+=*(a+j*num_one+i);
        }
        printf("第%u组和为%.2f,平均值为%.2f\n",j,sum,sum/num_current);
    }

    free(a);
    return 0;
}

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2021-09-19 20:55
快速回复:数组分段求和
数据加载中...
 
   



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

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