老师,关于2-11变成联系的问题
我的代码是哪里出错了呢,为什么不能求出最大值。
#include <iostream> #include <string> using namespace std; int max(int a[], int len) { int i, j, s = 0; for (i = 0; i < len; i++) { for (j = 0; j < len - 1 - i; j++) { if (a[i] > a[i+1]) { s = a[i]; a[i] = a[i+1]; a[i+1] = s; } } } return s; } int main() { int a[5] = { 4,5,2,6,9 }; cout << "数组的最大值为" << max(a,5) << endl; return 0; }
0
收起
正在回答 回答被采纳积分+1
1回答
guly
2018-08-20 17:33:27
你好,您的循环表示的是冒泡排序每次输出相邻两位的最大数,建议参考代码如下:
#include <iostream> #include <string> using namespace std; int max(int a[], int n) { int s = a[0]; for(int i=1; i<n; i++) { if(a[i] > s) { s = a[i]; } } return s; } int main() { int a[5] = { 4,12,2,6,9 }; cout<<"数组的最大值为:"<<max(a, 5)<<endl; return 0; }
如果解决您的问题请采纳,祝学习愉快!
C++零基础入门 热门编程语言 二级考试必备
- 参与学习 529 人
- 提交作业 110 份
- 解答问题 593 个
无论您是零基础、还是想晋升,亦或是想转型,C++无疑都是最佳选择。本路径共分为基础语法、指针与引用、面向对象三大模块,为你开启入门C++编程的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星