C++ 为什么不按升序打印数字 #包括 使用名称空间std; int main() { int i,和=0,n; INTA[10]; 浮动平均值; coutn; 如果(n>10) n=10; cout
您的排序实现不正确。由于排序的思想是在每一步中查找C++ 为什么不按升序打印数字 #包括 使用名称空间std; int main() { int i,和=0,n; INTA[10]; 浮动平均值; coutn; 如果(n>10) n=10; cout,c++,arrays,C++,Arrays,您的排序实现不正确。由于排序的思想是在每一步中查找i-第四个最小的数字,因此内部循环应该从i+1开始,而不是从1开始: #include <iostream> using namespace std; int main() { int i,sum=0,n; int a[10]; float avg; cout<<"Enter how many numbers you want "; cin>>n;
i
-第四个最小的数字,因此内部循环应该从i+1
开始,而不是从1
开始:
#include <iostream>
using namespace std;
int main()
{
int i,sum=0,n;
int a[10];
float avg;
cout<<"Enter how many numbers you want ";
cin>>n;
if (n>10)
n=10;
cout<<"Enter the numbers" << endl;
for (i=0;i<n;i++)
cin>>a[i];
for (i=0;i<n;i++)
{
sum=sum+a[i];
}
avg=sum/n;
cout<<"sum of array elements "<<sum << endl;
cout<<"average of array elements " <<avg << endl;
int temp;
for (int i =0; i<n; i++)
{
for (int j=1; j<n; j++)
{
if (a[i] > a[j])
{
temp = a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
cout << "The numbers in ascending order are:" << endl;
for (int i =0; i<n; i++)
{
cout << a[i] << endl;
}
return 0;
}
for(int j=i+1;j)您的排序算法不正确。例如,如果您比较元素a[4]
和a[1]
,会发生什么情况?我如何使它能够比较所有数字?这种奇怪的插入排序无法正常工作,您可以轻松地将其转换为冒泡排序
for (int j=i+1; j<n; j++)