很多问题!
第一,找最大值
int max(int in[], int n) {
int maxs = in[0]; // 假设第一个元素是最大值
for (int i = 1; i < n; i++) { // 从第二个元素开始遍历
if (in[i] > maxs) {
maxs = in[i]; // 更新最大值
}
}
return maxs; // 返回最大值
}
首先,想冒泡排序,错,徒增时耗!
第二,int max 错,和你定义的函数名冲突!
我先用的冒泡排序,出现了严重的问题
int max(int in[999], int n) {
for (int i = 0; i < n; i++) {
int maxs = in[i];
for (int j = i + 1; j < n; j++) {
if (in[j] > maxs) {
maxs = j;
}
}
if (in[maxs] != in[i]) {
int temp = in[i];
in[i] = in[maxs];
in[maxs] = temp;
}
}
return in[0];
最后会输出错误,为什么?
不要在内循环里面省事啊,球球了
你为了把比maxs大的 j 保留把maxs直接改成了j的值而不是in[ j ]
但是看看if (in[j] > maxs) 这一步啊啊啊啊
Comments NOTHING