| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
ADSL如何秒变专线,公网IP盒子了解一下千里之行 始于足下
共有 662 人关注过本帖
标题:简单的一个用指针求最大值最小值 素数平均数 奇数平均数 出现问题了 求指教
只看楼主 加入收藏
Poppy辉
Rank: 1
来 自:云南曲靖
等 级:新手上路
帖 子:33
专家分:4
注 册:2016-11-5
结帖率:66.67%
  已结贴   问题点数:10  回复次数:3   
简单的一个用指针求最大值最小值 素数平均数 奇数平均数 出现问题了 求指教
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void Find(int number[], double *pMax, double *pMin, double *pAver1, double *pAver2);
main()
{   
    int i, k;
    double Max, Min, aver1, aver2;
    int number[300]={0};
    srand(time(NULL));

    for( i=0; i<300; i++ )
    {
        k = rand()%926+71;
        number[i] = k;
    }

    Find( number, &Max, &Min, &aver1, &aver2 );
    printf("最大值是:%f\n,最小值是:%f\n,奇数的平均数是:%f\n,质数的平均数是:%f\n",Max, Min, aver1, aver2);
    return 0;
   
}

    void Find( int number[], double *pMax, double *pMin, double *pAver1, double *pAver2 )
    {   
        int j, m, sum1, sum2, count1, count2, count3;
        m = 0;
        sum1 = 0;
        sum2 = 0;
        count1 = 0;
        count2 = 0;
        count3 = 0;

        *pMax = number[0];
        *pMin = number[0];
        *pAver1 = 0;
        *pAver2 = 0;
        
        for( j=0; j<300; j++ )
        {
            if( number[j]>*pMax )
            {
                *pMax = number[j];
            }

            if( number[j]<*pMin )
            {
                *pMin = number[j];
            }

            while( number[j]%2!=0 )
            {
                sum1 += number[j];
                count1++;
            }
               

            for( m=2; m<number[j]; m++ )
            {
                if( number[j]%m==0 )
                {
                    count2++;
                }
            }
            if( count2 ==0 )
            {
                sum2 += number[j];
                count3++;
            }
            
        }
            *pAver1 = sum1/count1;
            *pAver2 = sum2/count3;
    }
2016-12-08 12:33
Poppy辉
Rank: 1
来 自:云南曲靖
等 级:新手上路
帖 子:33
专家分:4
注 册:2016-11-5
  得分:0 
可以运行 没错误 没警告 但是不会出结果。
2016-12-08 12:34
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
  得分:10 
两个地方有问题
程序代码:
void Find(int number[], double *pMax, double *pMin, double *pAver1, double *pAver2)
{
    int j, m, sum1, sum2, count1, count2, count3;
    m = 0;
    sum1 = 0;
    sum2 = 0;
    count1 = 0;
    count2 = 0;
    count3 = 0;

    *pMax = number[0];
    *pMin = number[0];
    *pAver1 = 0;
    *pAver2 = 0;

    for (j = 0; j<300; j++)
    {
        count2 = 0;
        if (number[j]>*pMax)
        {
            *pMax = number[j];
        }

        if (number[j]<*pMin)
        {
            *pMin = number[j];
        }

        if (number[j] % 2 != 0)
        {
            sum1 += number[j];
            count1++;
        }


        for (m = 2; m<number[j]; m++)
        {
            if (number[j] % m == 0)
            {
                count2++;
            }
        }
        if (count2 == 0)
        {
            sum2 += number[j];
            count3++;
        }

    }
    *pAver1 = sum1 / count1;
    *pAver2 = sum2 / count3;
}
2016-12-08 13:22
Poppy辉
Rank: 1
来 自:云南曲靖
等 级:新手上路
帖 子:33
专家分:4
注 册:2016-11-5
  得分:0 
回复 3楼 grmmylbs
可以啦 十分感谢哈。
2016-12-08 16:55
快速回复:简单的一个用指针求最大值最小值 素数平均数 奇数平均数 出现问题了 求 ...
数据加载中...
 
   



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

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