1 条题解

  • 0
    @ 2025-4-12 21:52:30

    C :

    /*
     * =====================================================================================
     *
     *       Filename:  903.c
     *
     *    Description: hahahhaha 
     *
     *        Version:  1.0
     *        Created:  2013/9/3 星期二 15:11:22
     *       Revision:  none
     *       Compiler:  gcc
     *
     *         Author:  mdk-vim.cpp-c (mdk), mengdaikun@gmail.com
     *        Company:  cjluacm-vim-mdk
     *
     * =====================================================================================
     */
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<math.h>
    
    #define MAX 2000
    
    int main()
    {
       // freopen("a.in","r",stdin);
        
        char str[MAX];
    
        int k;
    
        int i;
    
        int len;
    
        while(~scanf("%s %d",str,&k))
        {
            len = strlen(str);
    
            for(i = k ; i < len ; i++)
                printf("%c",str[i]);
            for(i = 0 ; i < k ; i++)
                printf("%c",str[i]);
            printf("\n");
        }
    
        return 0;
    }
    
    

    C++ :

    #include <stdio.h>
    #include "string.h"
    
    
    ///////////////////////////////////////////////////////////////////////
    // Reverse the string between pStart and pEnd
    ///////////////////////////////////////////////////////////////////////
    void ReverseString(char* pStart, char* pEnd)
    {
          if(pStart != NULL && pEnd != NULL)
          {
                while(pStart <= pEnd)
                {
                      char temp = *pStart;
                      *pStart = *pEnd;
                      *pEnd = temp;
    
                      pStart ++;
                      pEnd --;
                }
          }
    }
    
    ///////////////////////////////////////////////////////////////////////
    // Move the first n chars in a string to its end 
    ///////////////////////////////////////////////////////////////////////
    char* LeftRotateString(char* pStr, unsigned int n)
    {
          if(pStr != NULL)
          {
                int nLength = static_cast<int>(strlen(pStr));
                if(nLength > 0 && n > 0 && n < nLength)
                {
                      char* pFirstStart = pStr;
                      char* pFirstEnd = pStr + n - 1;
                      char* pSecondStart = pStr + n;
                      char* pSecondEnd = pStr + nLength - 1;
    
                      // reverse the first part of the string
                      ReverseString(pFirstStart, pFirstEnd);
                      // reverse the second part of the strint
                      ReverseString(pSecondStart, pSecondEnd);
                      // reverse the whole string
                      ReverseString(pFirstStart, pSecondEnd);
                }
          }
    
          return pStr;
    }
    
    int main()
    {
    	char s[9999];
    	int n;
    	while(scanf("%s%d",s,&n)!=EOF)
    		printf("%s\n",LeftRotateString(s,n));
    	return 0;
    } 
    

    Pascal :

    var a:array[1..2000]of char;n,b,i:integer;
    begin
     while not eof do
      begin
       n:=0;
       while not eoln do
        begin
         n:=n+1;
         read(a[n]);
         if a[n]=' ' then break
        end;
       readln(b);
       for i:=b+1 to n-1 do
        write(a[i]);
       for i:=1 to b do
        write(a[i]);
       writeln
      end
    end.
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    		Scanner cinScanner= new Scanner(System.in);
    		while(cinScanner.hasNext())
    		{
    			String str = cinScanner.next();
    			int k = cinScanner.nextInt();
    			reverseString(str, k);
    		}
    	}
    	
    	public static void reverseString(String str,int begin)
    	{
    		for(int i=begin;i<str.length();i++)
    			System.out.print(str.charAt(i));
    		for(int i=0;i<begin;i++)
    			System.out.print(str.charAt(i));
    		System.out.println();
    	}
    }
    
    
    • 1

    信息

    ID
    2190
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者