2 条题解

  • 0
    @ 2025-9-30 19:19:02

    此题的点在于反转数组的起始和终止的位置确定。

    #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
      @ 2024-11-4 14:47:13

      #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
      上传者