我在学校的任务是创建一个程序,以升序排列数组的值。它几乎就在那里,但每当我输入“44 55 66 22 33 11 77 99 88 66”或它输出的任何数字
-858993460,11,22,33,44,55,66,66,77,88,或开头为负数
第一个数字到底怎么了?我是不是缺了什么?
我对C++很陌生,我不太明白这里的问题。如果有什么建议我可以用请告诉他们。
int num [10] = {};
int z;
cout << "please enter 10 numbers you want to sort: ";
cin >> num[0]>>num[1]>>num[2]>>num[3]>>num[4]>>num[5]>>num[6]>>num[7]>>num[8]>>num[9];
for (int l = 0; l < 10;l++)
for (int a = 0; a < 10; a++) {
if (num[a] > num[a + 1]) {
z = num[a];
num[a] = num[a + 1];
num[a + 1] = z;
}
}
cout << "your number in ascending order is: ";
for (int a = 0; a < 10; a++) {
cout << num[a] << ",";
}
system("pause");
return 0;
}
这里有一个错误:
for (int a = 0; a < 10; a++) {
当a=9
时,num[a+1]
将超出范围。
行应为:
for (int a = 0; a < 9; a++) {