数组大小; int arr[数组大小]; int i=0; int元素=0; 整数和=0; 浮动平均值=0; //用用户输入的元素填充数组 做 { 库特(最大) MAX=arr[i]; int MIN=arr[0]; 对于(int i=1;i,c++,arrays,C++,Arrays" /> 数组大小; int arr[数组大小]; int i=0; int元素=0; 整数和=0; 浮动平均值=0; //用用户输入的元素填充数组 做 { 库特(最大) MAX=arr[i]; int MIN=arr[0]; 对于(int i=1;i,c++,arrays,C++,Arrays" />

将int用于浮点除法c++; 我是C++新手,我一直在搞砸我至今所学的东西。我搞乱了数组,我想出了以下代码 #include <iostream> using namespace std; int main() { // initializes an array with user defined size int array_size; cout << "Enter the amount of number you wish to enter: "; cin >> array_size; int arr[array_size]; int i = 0; int element = 0; int sum = 0; float average = 0; // populates the array with user inputted elements do { cout << "Enter number " << i + 1 << ": "; cin >> element; arr[i] = element; sum = sum + element; ++i; } while(i < array_size); int MAX = arr[0]; for(int i = 1; i < array_size; ++i) if(arr[i] > MAX) MAX = arr[i]; int MIN = arr[0]; for(int i = 1; i < array_size; ++i) if(arr[i] < MIN) MIN = arr[i]; for(int i = 0; i < array_size - 1; ++i) average = (average + arr[i])/array_size.0; cout << "The biggest number that was entered was: " << MAX << endl; cout << "The smallest number that was entered was: " << MIN << endl; cout << "The sum of the numbers entered is: " << sum << endl; cout << "The average of the numbers entered is: " << average << endl; return 0; } #包括 使用名称空间std; int main() { //使用用户定义的大小初始化数组 int数组的大小; cout>数组大小; int arr[数组大小]; int i=0; int元素=0; 整数和=0; 浮动平均值=0; //用用户输入的元素填充数组 做 { 库特(最大) MAX=arr[i]; int MIN=arr[0]; 对于(int i=1;i

将int用于浮点除法c++; 我是C++新手,我一直在搞砸我至今所学的东西。我搞乱了数组,我想出了以下代码 #include <iostream> using namespace std; int main() { // initializes an array with user defined size int array_size; cout << "Enter the amount of number you wish to enter: "; cin >> array_size; int arr[array_size]; int i = 0; int element = 0; int sum = 0; float average = 0; // populates the array with user inputted elements do { cout << "Enter number " << i + 1 << ": "; cin >> element; arr[i] = element; sum = sum + element; ++i; } while(i < array_size); int MAX = arr[0]; for(int i = 1; i < array_size; ++i) if(arr[i] > MAX) MAX = arr[i]; int MIN = arr[0]; for(int i = 1; i < array_size; ++i) if(arr[i] < MIN) MIN = arr[i]; for(int i = 0; i < array_size - 1; ++i) average = (average + arr[i])/array_size.0; cout << "The biggest number that was entered was: " << MAX << endl; cout << "The smallest number that was entered was: " << MIN << endl; cout << "The sum of the numbers entered is: " << sum << endl; cout << "The average of the numbers entered is: " << average << endl; return 0; } #包括 使用名称空间std; int main() { //使用用户定义的大小初始化数组 int数组的大小; cout>数组大小; int arr[数组大小]; int i=0; int元素=0; 整数和=0; 浮动平均值=0; //用用户输入的元素填充数组 做 { 库特(最大) MAX=arr[i]; int MIN=arr[0]; 对于(int i=1;i,c++,arrays,C++,Arrays,不能将“.0”附加到变量名。若要将其强制转换为浮点,请使用强制转换语法: average = float(average + arr[i]) / float(array_size); 请确保尽早进行强制转换,以免将结果四舍五入为int: average = float(average + arr[i] / array_size); // might not work as expected 有关类型转换的更多信息: 另外,如果要将数字添加到平均值,可能需要使用不同的公式: 只需执行该操作—

不能将“.0”附加到变量名。若要将其强制转换为浮点,请使用强制转换语法:

average = float(average + arr[i]) / float(array_size);

请确保尽早进行强制转换,以免将结果四舍五入为int:

average = float(average + arr[i] / array_size); // might not work as expected
有关类型转换的更多信息:

另外,如果要将数字添加到平均值,可能需要使用不同的公式:

只需执行该操作——每当您对
浮点变量执行算术运算时,操作数将自动转换为
双精度
,以执行该操作。因此,您只需:

for(int i = 0; i < array_size - 1; ++i)
    average = (average + arr[i])/array_size;
for(int i=0;i

由于
average
的类型为
float
,因此它和
arr[i]
都将转换为double以进行a(双精度)浮点加法。然后,由于该结果是
double
array\u size
也将转换为
double
,并进行浮点除法。最后,该
double
结果将转换回
float
并存储在
average

中。在这种情况下,不需要强制转换all,因为平均值已经是一个float。在float和int之间的任何操作中,int隐式转换为float(实际上两者都转换为double).我已经实现了你提供的公式,但我没有得到想要的结果。我的代码示例中的公式也没有。我已经摆弄了很长时间,但似乎无法使它工作,有什么建议吗?