程序结果最后一个数不应该是最大值676吗?进行了9次比较呐!

还有为什么会出现两次出现21呢和-8呢?新手一枚,希望大佬指教

你这排序算法写的不对,冒泡排序需要两个循环嵌套,另外,C里面数组的下标是从0开始的,但是为了跟你代码一致,我写的代码也是从1开始的。代码如下:(如有帮助,请采纳一下,谢谢。)

#include <iostream>
using namespace std;
int main()
{
	int a[11];
	int i,j,t;
	cout << "请输入10个数值";
	for (i = 1; i < 11; i++) 
		cin >> a[i];
	//排序
	for (i = 1; i < 11; i++)
	{
		for (j = 1;j < 11 -i;j++)
		{
			if (a[j] > a[j+1])
			{
				t = a[j];
				a[j] = a[j+1];
				a[j+1] = t;
			}
		}
	}
	for(i = 1; i < 11;i++)
		cout << a[i] << endl;
	return 0;
}