初学c++ 这冒泡排序我想破脑袋都想不出来该怎么改😭到底哪里错了??
内部循环 j = 0 改成j = i ,不从0开始, 还有 你这个题库怎么看着像东软的。。。
晕,数组值还没有输入呢,你排啥序啊?你得先循环输入数组每个元素,然后再排序。
要数组里面的元素都输入完了才能比较,还有认真看题目啊:从大到小、输出换行。
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int a[25];
for(int i=0; i<n;i++){
cin>>a[i];
}
for(int i=0; i<n; i++){
for(int j=0; j<n-i-1; j++){
if(a[j] < a[j+1]){
int t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
for(int i=0; i<n; i++){
cout<<a[i]<<endl;
}
}
好好学编程,未来就是你的。。。
首先,你想要for 循环里面输入数,然后进入for 循环排序,想法不错,那你要在第二个for ( j<i),注意,你要 j < i;但是,你这样就是不是冒泡了
你可以去查一下冒泡 ,要先确定一个数组,然后,对数组里面的数进行冒泡排序;
把你最后的哪个for 循环该一下,让最前面,cout 改成cin;