1 条题解

  • 0
    @ 2025-4-12 21:47:20

    C :

    #include <stdio.h>
    #include <string.h>
    int main(void)
    {
    	char str[80];
    //	char ch,ch1;
    	char *p;
    	gets(str);
    	while( (strcmp(str,"!"))!=0)
    	{
    		p = str;
    		while(*p)
    		{
    			if(*p >= 'a' && *p <= 'm')
    			{
    				putchar( *p + 25 - 2*(*p-'a'));
    			}
    			else if(*p >= 'n' && *p <= 'z')
    			{
    				putchar(*p - 25 + 2*('z'- *p));
    			}
    			else if(*p >= 'A' && *p <= 'M')
    			{
    // 				ch1 = 25 - (*p-'A');
    // 				ch = *p + ch1 - (*p - 'A');
    				putchar(*p + 25 - 2*(*p-'A'));
    			}
    			else if(*p >= 'N' && *p <= 'Z')
    			{
    				putchar(*p - 25 + 2*('Z'- *p));
    			}
    			else
    			{
    				putchar(*p);
    			}
    		
    			p++;
    		}
    		putchar('\n');
    		gets(str);
    	}
    	return 0;
    }
    

    C++ :

    #include <stdio.h>
    #include <string.h>
    
    char * StringInverted(char *str){
    	int i=0;
    	while(str[i]){
    		if('a'<=str[i] && str[i]<='z'){
    			str[i] = 'z'-str[i]+'a';
    		}else if('A'<=str[i] && str[i]<='Z'){
    			str[i] = 'Z'-str[i]+'A';
    		}
    		i++;
    	}
    	return str;
    }
    
    int main(){
    	char str[100];
    	while(gets(str), strcmp(str, "!")){
    		puts(StringInverted(str));
    	}
    
    	return 0;
    }
    
    

    Pascal :

    var st,sta:string;
        n,i:longint;
    begin
      readln(st);
      while st<>'!' do
        begin
          n:=length(st);sta:='';
          for i:=1 to n do
             begin
                if st[i] in ['a'..'z'] then
                    sta:=sta+chr(219-ord(st[i]))
                  else
                    if st[i] in ['A'..'Z'] then
                       sta:=sta+chr(155-ord(st[i]))
                     else
                        sta:=sta+st[i];
              end;
          writeln(sta);
          readln(st);
        end;
    end.
    

    Java :

    import java.math.BigDecimal;
    import java.util.*;
    
    public class Main{
        public static void main(String[] args)throws  Exception {
            Scanner in = new Scanner(System.in);
            char a = 'a';
            char z = 'z';
            char A = 'A';
            char Z = 'Z';
           while (true) {
               String s = in.nextLine();
               if("!".equals(s)){
                   return;
               }
               StringBuilder b = new StringBuilder();
               for (int i = 0; i < s.length(); i++) {
                   String zm = s.charAt(i) + "";
                   int t = (int) s.charAt(i);
                   if (zm.matches("[a-z]")) {
                       b.append((char) ((int) z - ((int) t - (int) a)));
                   } else if (zm.matches("[A-Z]")) {
                       b.append((char) ((int) Z - ((int) t - (int) A)));
                   } else {
                       b.append(s.charAt(i));
                   }
               }
               System.out.println(b.toString());
           }
        }
    }
    
    • 1

    信息

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