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;
}
當我運行這個程序時,數字以不同的順序打印出來。爲什麼不打印升序編號
如果我使用數字1 2 3 4 5他們打印出1 5 4 3 2
一切運行正常。如何解決這個錯誤?
你的排序算法不正確。例如,如果比較元素'a [4]'和'a [1]',會發生什麼? –
我怎樣才能讓它比較所有的數字? – user3138302
這種奇怪的插入排序工作不正確,你可以很容易地將其轉換爲冒泡排序 – maraca