12 条题解
-
9
做完了题,看看MOD的题解,又是,-1个赞,我就不加了哈,来吧,看看思路
- 首先要先求出 max 再遍历列表,所以要用到数组,可以定义 1001 个元素 (1000+1因为这样就可以索引为 1 啦~)
- 输入 n 然后执行 n 次
- 求出 max 以后,再遍历列表,再再判断如果 a[i] 是否等于max,再再再判断如果可以被 2 整除,就翻倍,否则,你懂得(+1)
老样子,你懂思路了吗?先点个赞吧,上代码~
#include <bits/stdc++.h> using namespace std; int main() { int n, max = 0, a[1001]; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; if (max < a[i]) max = a[i]; } for (int i = 1; i <= n; i++) { if (max == a[i] && max % 2 == 0) cout << max * 2 << " "; else if (max == a[i] && max % 2 == 1) cout << max + 1 << " "; else cout << a[i] << " "; } return 0; }
-
5
全网最短的题解来喽!
#include <iostream> using namespace std; int main() { int a[1005], n, ma = 0; cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 1; i < n; i++) if (a[i] > a[ma]) ma = i; if (a[ma] % 2 == 0) a[ma] *= 2; else a[ma] += 1; for (int i = 0; i < n; i++) cout << a[i] << " "; return 0; }
点赞不迷路!
-
1
这题通过率差不多三分之一,其实并不难,我来说一下我思路
首先,老样子,定义和遍历数组,这里直接从1开始,方便查找
其次,定义一个最大值变量,初始化为0,再次遍历数组,找出最大值
然后,写俩if语句,判断最大值奇偶,奇数就在原基础上+1,偶数就在原基础上x2
最后,替换插入直接输出就行
下附AC代码
include<bits/stdc++.h> using namespace std; int n, homo[1145], maxx = 0, coat; int main() { cin >> n; for(int i = 1; i <= n; i ++) { cin >> homo[i]; } for(int i = 1; i <= n; i ++) { if(homo[i] > maxx) { maxx = homo[i]; coat = i; } } if(maxx % 2 == 0) { maxx *= 2; } if(maxx % 2 != 0) { maxx += 1; } for(int i = 1; i <= n; i ++) { if(i + 1 == coat) { homo[i + 1] = maxx; } cout << homo[i] << " "; } return 0; }
点个赞吧,点赞的都是一个一个帅哥啊啊啊啊~
-
1
`
#include <bits/stdc++.h> using namespace std; int main() { int n, max = 0, a[1001]; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; if (max < a[i]) max = a[i]; } for (int i = 1; i <= n; i++) { if (max == a[i] && max % 2 == 0) cout << max * 2 << " "; else if (max == a[i] && max % 2 == 1) cout << max + 1 << " "; else cout << a[i] << " "; } return 0; }
-
1
#include <bits/stdc++.h> using namespace std; int main() { int n, max = 0, a[1001]; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; if (max < a[i]) max = a[i]; } for (int i = 1; i <= n; i++) { if (max == a[i] && max % 2 == 0) cout << max * 2 << " "; else if (max == a[i] && max % 2 == 1) cout << max + 1 << " "; else cout << a[i] << " "; } return 0; }
-
0
#include <bits/stdc++.h> using namespace std; int n, a[10005], maxn = -1; int main() { cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; maxn = max(a[i], maxn); } for (int i = 1; i <= n; i++) { if (a[i] == maxn && a[i] % 2 == 0) a[i] *= 2; else if (a[i] == maxn && a[i] % 2 == 1) a[i] += 1; } for (int i = 1; i <= n; i++) cout << a[i] << " "; return 0; }
-
0
思路:
做这道题主要分两步:
第一步:找出最大值
可以先设一个变量max = 0,因为题目没给银币面额最大是多少,保险起见,这里用long long类型的变量,然后遍历整个数组,如果有比max大的,就把max设为这个值
long long max = 0; for(int i = 0;i < n;i++) { if(max < money[i]) max = money[i]; }
第二步:输出 还是先遍历数组,将每个数据与最大值作比较,如果不是最大值,直接输出(记得加空格),如果是最大值,再判断是奇数还是偶数,是奇数输出最大值+1,是偶数输出最大值*2(不要忘记空格)
for (int i = 0;i < n;i++) { if (max == money[i]) { if (max % 2 == 0) cout << max * 2 << ' '; else cout << max + 1 << ' '; } else cout << money[i] << ' '; }
最后把上面两步整合一下,加上一些基本的东西,就是答案了
#include <iostream> using namespace std; int main() { int n; cin >> n; long long money[n]; for(int i = 0;i < n;i++) cin >> money[i]; long long max = 0; for(int i = 0;i < n;i++) { if(max < money[i]) max = money[i]; } for (int i = 0;i < n;i++) { if (max == money[i]) { if (max % 2 == 0) cout << max * 2 << ' '; else cout << max + 1 << ' '; } else cout << money[i] << ' '; } return 0; }
-
-2
首先输入,找出最大的 输出,根据奇偶性判断 #include <bits/stdc++.h> using namespace std; int main() { int a[1010],b,c,i,j,m=-10,n,x; cin>>n; for(i=1;i<=n;i++){ cin>>a[i]; if(a[i]>=m) m=a[i]; } for(i=1;i<=n;i++){ if(a[i]==m) { if(m%2==0) cout<<m*2<<" "; else cout<<m+1<<" ";} else cout<<a[i]<<" "; } return 0; }
-
-5
1.这道题需要用数组,题目给的大小是<=1000,所以就可以把数组大小设为1000
2.找出最大数及其下标
3.处理最大数后按题目要求输出即可完美Accepted~
点赞支持亿下,上代码吧
#include<iostream> #include<cstdio> using namespace std; int main(){ int a[1000],max=0,n,maxi; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; if(a[i]>max){ max=a[i];//找到最大数 maxi=i;//存储最大数的下标 } } for(int i=0;i<n;i++){ if((max%2==0)&&(i==maxi)) cout<<a[i]*2<<" ";//找到最大数的下标,并处理输出 else if((max%2==1)&&(i==maxi)) cout<<a[i]+1<<" "; else cout<<a[i]<<" "; } return 0; }
-
-7
直接上代码! 求赞求赞👍
#include <bits/stdc++.h> using namespace std; int main() { int n, max = 0, a[1001]; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; if (max < a[i]) max = a[i]; } for (int i = 1; i <= n; i++) { if (max == a[i] && max % 2 == 0) cout << max * 2 << " "; else if (max == a[i] && max % 2 == 1) cout << max + 1 << " "; else cout << a[i] << " "; } return 0; }
- 1
信息
- ID
- 578
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 1545
- 已通过
- 498
- 上传者