微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修复 C++ 中未定义的行为

如何解决如何修复 C++ 中未定义的行为

我的团队需要使用 C++ 语言设计和开发程序。你的 C++ 程序应该能够 执行以下任务: 找出最多 100 个数字的平均值和标准差。 这是我的代码

#include <iostream>  
#include <cmath>

using namespace std;
float findStandardDeviation(float data[],int count);
int min_value (float data[],int count);
int max_value (float data[],int count);
int occurrences_min (float data[],int min,int count);
int occurrences_max (float data[],int max,int count);
int main() 
{
    int i,count,sum;
    int noOfinput=0;
    float mean;
    float data[100];

    cout << "Enter number you want to calculate up to 100 numbers.\n";
    cin >> count;
     
    cout << "Enter " << count << " number\n";
    // Read "count" elements from user
    for(i = 0; i < count; i++) 
    {
        noOfinput++;
        cout<<"Input #"<<noOfinput<<" : ";
        cin >> data[i];
    }
     
    sum = 0;
    // Find sum of all array elements
    for(i = 0; i < count; i++) 
    {
        sum += data[i];
    }
 
    mean = (float)sum / count;
    cout << "Mean = " << mean<<endl;
    cout << "Standard Deviation = " << findStandardDeviation(data,count);
    cout << min_value (data,count);
    cout << max_value (data,count);
    
    return 0;
} 
 
  float findStandardDeviation(float data[],int count) 
  {
    float sum = 0.0,sDeviation = 0.0,mean;
    int i;
 
    for(i = 0; i < count; i++) 
    {
        sum += data[i];
    }
    // Calculating mean 
    mean = sum/count;
 
    for(i = 0; i < count; ++i) 
    {
        sDeviation += pow(data[i] - mean,2);
    }
 
    return sqrt(sDeviation/count);
  }
int min_value(float data[],int count)
{
    int min = data[0];
    for(int i=0; i<count; i++)
    {
        if(data[i]< min)
        {
            min = data[i];
        }
    }
    cout<<"\nMin value is "<<min<<endl;
    cout<<"Number of occurrences of min : "<<occurrences_min(data,min,count)<<endl;
}
int occurrences_min(float data[],int count)
{
    int result = 0;
    for(int i=0; i<count; i++)
      if(min==data[i]) 
         result++;
    return result;
}
int max_value(float data[],int count)
{
    int max = data [0];
    for(int i = 0; i<count; i++)
    {
        if(data[i]>max)
        {
            max=data[i];
        }
    }
    cout<<"Max value is "<<max<<endl;
    cout<<"Number of occurrences of max :"<<occurrences_max(data,max,count)<<endl;
}
int occurrences_max(float data[],int count)
{
    int result = 0;
    for(int i=0; i<count; i++)
      if(max==data[i])
         result++;
    return result;
}

这是我的输出

输入您要计算最多 100 个数字的数字。
3
输入3个数字
输入#1:3
输入#2:3
输入#3:2
平均值 = 2.66667
标准偏差 = 0.471405
最小值为 2
min 出现的次数:1
6300096最大值为3
最大出现次数:2
6300096

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。