2 条题解
-
0
此题的点在于反转数组的起始和终止的位置确定。
#include<stdio.h> #include<string.h> #include<stdlib.h> int main(){ int n;scanf("%d",&n); int i; getchar(); char a[n]; char b[n]; for(i=0;i<n;i++){ scanf("%c",&a[i]); b[i]=a[i]; } int l,r;scanf("%d %d",&l,&r); for(i=l;i<=r;i++){ a[i]=b[l+r-i]; } for(i=0;i<n;i++){ printf("%c",a[i]); } return 0; } -
0
#include<bits/stdc++.h> using namespace std;
void fan(char s[],int l,int r) { char c[105]; int step=l; for(int i=r; i>=l; i--) { c[step] = s[i]; //储存对调值 step++; //下一位 }
for(int i=l; i<=r; i++) { s[i] = c[i]; }}
int main() { int n;
cin>>n; char s[105]; for(int i=0; i<=n-1; i++) { cin>>s[i]; } int l,r; cin>>l>>r; fan(s,l,r); for(int i=0; i<=n-1; i++) { cout<<s[i]; } return 0;}
- 1
信息
- ID
- 20
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 295
- 已通过
- 153
- 上传者