1 条题解

  • 0
    @ 2025-4-12 21:41:02

    C :

    #include <stdio.h>
    #include <string.h>	
    char str[40];
    int main(void)
    {
    	int num,num1;
    	void ZHao(int );
    	while (scanf("%s",str)!=EOF	) {
    		scanf("%d",&num);
    		while (num--)  {
    			scanf("%d",&num1);
    			ZHao(num1); 
    			printf("%s\n",str);
    		}	
    	}
    	return 0;
    }
    void ZHao(int num)
    {
    	int idex=(strlen(str)/2);
    	int i,j;
    	char flag;
    	char str_cp[40]={'\0'};
    	switch(num)
    	{
    		case 1: flag=str[idex]; 
    				str[idex]=str[strlen(str)-1];
    				str[strlen(str)-1]=str[0];
    				str[0]=flag;
    				break;
    		case 2: 
    				for(i=(strlen(str)-1),j=0;i>=0;i--,j++)
    				str_cp[j]=str[i];
    				strcpy(str,str_cp);
    				break;			
    	}
    }
    

    C++ :

    #include <iostream>
    #include <cstring>
    using namespace std;
    void re(char *s,int len){
    	char a[50];
    	int i;
    	for(i=0;i<len;i++)
    	a[len-i-1]=s[i];
    	for(i=0;i<len;i++)
    	s[i]=a[i];
    }
    void sd(char *s,int len){
    	char fr=s[0],la=s[len-1],mid=s[len/2];
    	s[0]=mid;
    	s[len/2]=la;
    	s[len-1]=fr;
    	
    }
    int main(int argc, char *argv[])
    {
    	char s[30];
    	while(cin>>s){
    		int n,i;
    		cin>>n;
    		int len =strlen(s);
    		while(n--){
    			cin>>i;
    			if(i==1){
    				sd(s,len);
    				cout<<s<<endl;
    			}
    			
    			else{
    				re(s,len);
    				cout<<s<<endl;
    			}
    		}
    		
    	}
    	return 0;
    }
    
    • 1

    信息

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