53 条题解
-
61
#include <iostream> using namespace std; int main() { int n, a[11], maxx = 0; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; } for (int i = 1; i <= n; i++) { if (a[i] > maxx) { maxx = a[i]; } } for (int i = 1; i <= n; i++) { if (a[i] == maxx) { cout << i << endl; } } return 0; }
-
10
这里给出思路:
找数组元素的最大值,一般是这样的。
在我们输入完数组元素以后,先假设一个极小值,本题由于输入的数字都大于0,
因此我们定义一个变量为极小值,也就是数组元素不可能比这个还小。
然后循环遍历先求出最大值,求完之后,在写一次for循环,输出等于最大值的哪些元素。
找最大值主要是这样
int maxx=0; for(int i=1;i<=n;i++) { if(a[i]>maxx) { maxx=a[i]; } }
我们可以自己创造数据去模拟这个代码,因为每次如果a[i]大于maxx,我们还会更新maxx的值,那么最后更新不动了,肯定是最大值才造成无法继续更新maxx.
然后去输出所有的下标。本题要注意,输出是输出位置,因为如果你的循环是从0开始输入,记得输出i+1。
for(int i=1;i<=n;i++) if(a[i]==maxx) cout << i <<endl;
-
4
#include <bits/stdc++.h> using namespace std; const int N = 1e1 + 5; // 1e1代表10的1次方再乘以1,加5防止越界 int a[N]; // 定义数组 int main() { int n; scanf("%d", &n); // 输入 // 找最大值 int mx = 0; for (int i = 1; i <= n; i++) { // 这里i可以从1开始,a[0]会是0,因为全局变量或数组(即定义在代码最上方,不再任何函数里定义的变量或数组)会初始为0 scanf("%d", &a[i]); if (a[i] > mx) { mx = a[i]; } } // 遍历列表,把和最大值相等的元素的索引都打印出来 for (int i = 1; i <= n; i++) { if (a[i] == mx) { printf("%d\n", i); } } return 0; }
-
1
-
0
#include <bits/stdc++.h> using namespace std; int main() { int n,a[10],max = 0; cin >> n; for (int i = 0;i < n;i++) { cin >> a[i]; } for (int i = 0;i < n;i++) { if (a[i] >= max) { max = a[i]; } } for (int i = 0;i < n;i++) { if (a[i] == max) { cout << i + 1 << '\n'; } } return 0; }
-
0
#include <bits/stdc++.h> using namespace std; int main() { int n,maxn=0;//初始化 cin >> n;//输入数组元素数量 int a[n];//定义数组 for (int i=0;i<n;i++) { cin >> a[i];//输入数组元素 { if (a[i] > maxn)//找最大的数组元素 { maxn=a[i];//设为maxn } } } for (int i=0;i<n;i++) { if (a[i] == maxn)//找到等于maxn的元素 { cout << i+1 << endl;输出a[i]的位置 } } return 0; }
-
0
#include <iostream> using namespace std; int main() { int n, a[11], maxx = 0; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; } for (int i = 1; i <= n; i++) { if (a[i] > maxx) { maxx = a[i]; } } for (int i = 1; i <= n; i++) { if (a[i] == maxx) { cout << i << endl; } } return 0; }
//不会有人还不会呢吧……
-
0
直接上代码↓
#include <bits/stdc++.h> using namespace std; int n,a[15],maxx;//a用来存储n个正数,maxx用来存储最大值的值 int main() { cin>>n;//输入n for(int i=1;i<=n;i++)//输入n个正数 { cin>>a[i]; } for(int i=1;i<=n;i++) { maxx=max(a[i],maxx); //max函数大家都会吧 } //注意!!!这里不能直接输出,因为若有多个最大数则都要输出 for(int i=1;i<=n;i++) { if(a[i]==maxx)//如果a[i]是最大值 { cout<<i<<endl;//输出它的位置,注意要换行 } } return 0; } //自创代码,求赞!!!!!!!
-
0
这道题一如既往的简单。
老规矩,定义+输入数组。
int n; cin >> n; int a[n + 1]; for (int i = 1; i <= n; i++) { cin >> a[i]; }
然后找出最大数(我愿称之为打擂比较法,一个与一个打擂,决出最强的)。
int big = -114514; for (int i = 1; i <= n; i++) { if (a[i] > big) big = a[i]; }
最后的最后,输出所有最大数的位置。
for (int i = 1; i <= n; i++) { if (a[i] == big) cout << i << endl; }
废话不多说,上代码!
#include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int a[n + 1]; for (int i = 1; i <= n; i++) { cin >> a[i]; } int big = -114514; for (int i = 1; i <= n; i++) { if (a[i] > big) big = a[i]; } for (int i = 1; i <= n; i++) { if (a[i] == big) cout << i << endl; } re turn 0; }
小盆友们,您学会了吗?
复制? 代码不易,先点赞,再复制吧! (不要忘了删倒数第二行的空格!)
-
0
这段代码看似复杂,其实分层次理解会很简单。下面,就有我来给大家深层剖析一下代码吧! 希望我的剖析能给大家带来帮助!!!
#include <iostream> using namespace std; int main() { int n, a[10], num = 0;//首先我们定义一个足够大的数组! cin >> n; for (int i = 0; i < n; i++) { cin >> a[i]; }//依次输入数组中的n个数! for (int i = 0; i < n; i++) { if (a[i + 1] > num) { num = a[i]; } }//遍历数组,一点一点找到最大的数! for (int i = 0; i < n; i++) { if (a[i] == num) { cout << i + 1 << endl; } else { continue; }//这一步是看看有没有相同的最大的数! } return 0;//看看简不简单?? }
-
0
#include <iostream> using namespace std; int main() { int n, a[10], num = 0;//首先我们定义一个足够大的数组! cin >> n; for (int i = 0; i < n; i++) { cin >> a[i]; }//依次输入数组中的n个数! for (int i = 0; i < n; i++) { if (a[i + 1] > num) { num = a[i]; } }//遍历数组,一点一点找到最大的数! for (int i = 0; i < n; i++) { if (a[i] == num) { cout << i + 1 << endl; } else { continue; }//这一步是看看有没有相同的最大的数! } return 0;//看看简不简单?? }
-
0
核心代码:for循环以及for与if的嵌套判断
for(int i=1;i<=n;i++) if(a[i]>num) num=a[i];//找到最大数 for(int i=1;i<=n;i++) if(a[i]==num)//判断是否有相同的最大数 cout<<i<<endl;//输出最大数的位置 else continue;
完整代码:
#include<bits/stdc++.h> using namespace std; int main() { int n,a[100],num=0; cin>>n; for(int i=1;i<=n;i++) cin>>a[i];//输入数组a for(int i=1;i<=n;i++) if(a[i]>num) num=a[i];//找到最大数 for(int i=1;i<=n;i++) if(a[i]==num)//判断是否有相同的最大数 cout<<i<<endl;//输出最大数的位置 else continue; return 0; }
信息
- ID
- 170
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 4
- 标签
- 递交数
- 6384
- 已通过
- 2768
- 上传者