缘由c语言输入十个数求最大最小和第二大第二小的值-编程语言-CSDN问答
这是个有意思的题目,考虑可扩展...如果是4个元素的数组,实现O(N)排序
void 输入十个数求最大最小和第二大第二小的值()
{//缘由https://ask.csdn.net/questions/7551893?spm=1005.2025.3001.5141int n = 0, nn = 0, d1 = 0, d2 = 0, x1 = 0, x2 = 0, k = 1;std::cin >> n;while (n--){std::cin >> nn;//scanfif (k)d1 = d2 = x1 = x2 = nn, k = 0;else{if (nn > d1)d2 = d1, d1 = nn;if ((nn < d1 && nn > d2) || d2 == d1)d2 = nn;if (nn < x1)x2 = x1, x1 = nn;if ((nn < x2 && nn > x1) || x2 == x1)x2 = nn;}}//printfstd::cout << d1 << "\t" << d2 << "\t" << x2 << "\t" << x1 << "\n";
}