c++冒泡排序的测试数据输入之后为何输出时前n-2个数据都变成了0?
感觉我的代码没什么毛病呀。
为什么输出都变成00000了
#include<iostream>
using namespace std;
int main(){
int arr[10];
//输入测试数据
for(int x = 0;x<10;x++){
cin>>arr[x];
}
cout<<"输出测试数据:"<<endl;
//输出测试数据
for(int x = 0;x<10;x++){
cout<<arr[x]<<" ";
}
int a;
cout<<endl;
//冒泡排序
for(int i = 1;i<=9;i++){
for(int j = 0;j<=9-i;j++){
if(arr[j]>arr[j+1]){
a = arr[j];
arr[j] = arr[j+1];
arr[j+1] = arr[j];
}
}
}
//输出排序后的测试数据
cout<<"输出排序后的测试数据:"<<endl;
for(int x = 0;x<10;x++){
cout<<arr[x]<<" ";
}
return 0;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
if里面 进行数据交换的时候,写的好像有问题吧
看看这段代码,预先保存的 a 用到哪去了?这里是笔误还是真没弄懂如何交换?