如何解决如何修复 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 举报,一经查实,本站将立刻删除。