1 条题解

  • 0
    @ 2024-5-10 0:45:58

    C :

    #include<stdio.h>
    #include<string.h>
    
    int main()
    {
    	int c,i,k;
    	char a[101],b[101];
    	scanf("%d",&c);
    	while(c--)
    	{
    		scanf("%s",a);
    		for(k=i=0;i<strlen(a);i++)
    		{
    			if(a[i]=='#')
    				b[k++]=' ';
    			else if((a[i]>='1'&&a[i]<='9')&&(a[i+1]<'0'||a[i+1]>'9'))
    				b[k++]=a[i]-'0'+64;
    			else if((a[i]>='1'&&a[i]<='9')&&(a[i+1]>='0'&&a[i+1]<='9'))
    			{
    				b[k++]=(a[i]-'0')*10+a[i+1]-'0'+64;
    				i++;
    			}
    		}
    		b[k]='\0';
    		printf("%s\n",b);
    	}
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    #include<string.h>
    
    int main()
    {
    	int c,i,k;
    	char a[101],b[101];
    	scanf("%d",&c);
    	while(c--)
    	{
    		scanf("%s",a);
    		for(k=i=0;i<strlen(a);i++)
    		{
    			if(a[i]=='#')
    				b[k++]=' ';
    			else if((a[i]>='1'&&a[i]<='9')&&(a[i+1]<'0'||a[i+1]>'9'))
    				b[k++]=a[i]-'0'+64;
    			else if((a[i]>='1'&&a[i]<='9')&&(a[i+1]>='0'&&a[i+1]<='9'))
    			{
    				b[k++]=(a[i]-'0')*10+a[i+1]-'0'+64;
    				i++;
    			}
    		}
    		b[k]='\0';
    		printf("%s\n",b);
    	}
    	return 0;
    }
    

    Pascal :

    program p1051;
    const a:array[1..26] of char=('A','B','C','D','E','F','G',
                                  'H','I','J','K','L','M','N',
                                  'O','P','Q','R','S','T',
                                  'U','V','W','X','Y','Z');
    var c,i,j,k,n,d:integer;
        st:string;
    begin
      readln(c);
      for i:=1 to c do
        begin
          readln(st);
          k:=0;
          j:=1;
          while j<=length(st) do
           begin
             if (st[j]>='0') and (st[j]<='9') then
              if j<length(st) then
                if (st[j+1]>='0') and (st[j+1]<='9') then
                  begin
                    d:=(ord(st[j])-ord('0'))*10+ord(st[j+1])-ord('0');
                    j:=j+2;
                    write(a[d]);
                  end
                else
                  begin
                    d:=ord(st[j])-ord('0');
                    write(a[d]);
                    j:=j+1;
                  end
              else begin
                    d:=ord(st[j])-ord('0');
                    write(a[d]);
                    j:=j+1;
                   end
             else if st[j]='#' then
                   begin
                     write(' ');
                     j:=j+1;
                   end
                  else j:=j+1;
           end;
           writeln;
        end;
    end.
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    		Scanner in = new Scanner(System.in);
    		int n = Integer.parseInt(in.nextLine());
    		while(n-->0){
    			String str = in.nextLine();
    			StringBuffer out = new StringBuffer();
    			StringBuffer tem = new StringBuffer();
    			for(int i=0;i<str.length();i++){
    				char c = str.charAt(i);
    				if(c=='#'){
    					if(tem.length()!=0)out.append((char)('A'+Integer.parseInt(tem.toString())-1));
    					out.append(' ');
    					tem.delete(0, tem.length());
    				}else if(c=='-'){
    					if(tem.length()!=0)out.append((char)('A'+Integer.parseInt(tem.toString())-1));
    					tem.delete(0, tem.length());
    				}else tem.append(c);
    			}
    			if(tem.length()!=0)out.append((char)('A'+Integer.parseInt(tem.toString())-1));
    			System.out.println(out);
    		}
    	}
    
    }
    
    

    Python :

    import sys
    
    def check(s):
        dict={'1':'A','2':'B','3':'C','4':'D','5':'E','6':'F','7':'G','8':'H','9':'I','10':'J','11':'K','12':'L','13':'M','14':'N','15':'O','16':'P','17':'Q','18':'R','19':'S','20':'T','21':'U','22':'V','23':'W','24':'X','25':'Y','26':'Z'}
        data = map(lambda x:dict[str(x)],[i for i in s.split('-') if i !=''])
        return data
          
    l = 1      
    for line in sys.stdin:
        if l !=1:
           data = line.split()[0].split('#')
           data = map(lambda x:check(x),data)
           data = map(lambda x:''.join([i for i in x]),data)
           print ' '.join([i for i in data])
        l += 1
    
    
    • 1

    信息

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