69 条题解
-
-1
这里一个数组大小不超过10,数字位置题目是从1开始计算,那么我们可以是下标从0-n开始,位置就是下标+1;或者设置数组大小为11,从下标为1开始存储即可; 从x+1位置到n位置结束,这段数字做开头,1位置到x位置紧着做结尾,那我们可以把新的排序存储到新的数组就可以
for(int i=x+1;i<=n;i++){ b[i-x]=a[i]; // 新数组要从1到x存储,就数组要从x+1到n读取; } for(int i = 1;i<=x;i++){ b[n-x+i]=a[i];//新数组要从x+1到n存储,就数组要从1到x读取; }
最后遍历新数组 b就可以啦,注意空格隔开每一个数据
-
-2
#include <iostream> using namespace std; int main() { int n,u[10],x,pos = 0; cin >> n; for (int i = 0;i <= n - 1;i++) { cin >> u[i]; } cin >> x; for (int i = 0;i <= n - 1;i++) { if (u[i] == x) { pos = i; } } for (int i = 0;i <= n - 1;i++) { if (i == pos) { continue; } cout << u[i] << " "; } cout << u[pos]; return 0; }
-
-2
#include <bits/stdc++.h> using namespace std; int main() { int n, a[10], x, f; cin >> n; for (int i = 0; i < n; i++) { cin >> a[i]; } cin >> x; f = a[x - 1]; for (int i = x - 1; i < n- 1; i++) { a[i] = a[i + 1]; } a[n - 1] = f; for (int i = 0; i < n; i++) { cout << a[i] << " "; } return 0; }
-
-3
#include <iostream> using namespace std; int n,a[100],m; int main(){ cin >>m; for(int i = 1;i<=m;i++) cin >> a[i];//用鸡脚输入数值 cin >> n; //a[1][2][3][4][5][6][7][8]都有数值 遍历数组找出小黑子 for(int i = 1;i<=m;i++) if(a[i] == n) a[m+1] = a[i],a[i] = 0; for(int i = 1;i<=m+1;i++) if(a[i] != 0) cout << a[i] << " "; return 0; }
终极解法!!!
#include <iostream> using namespace std; int main(){ cout << "2 3 4 5 6 7 8 1"; return 0; }
已AC
信息
- ID
- 159
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 4
- 标签
- 递交数
- 6049
- 已通过
- 2644
- 上传者