1 条题解

  • 0
    @ 2025-4-7 21:29:59

    C :

    #include<stdio.h>
    void main()
    {int i=0;
    int value=0;
    char ch[10];
    gets(ch);
    while (ch[i])
    {
    	if(ch[i]>='A'&&ch[i]<='F') value=(ch[i]-55)+16*value;
    else if(ch[i]>='a'&&ch[i]<='f')
    	value=(ch[i]-87)+16*value;
    else if(ch[i]>='0'&&ch[i]<='9') 
    	value=(ch[i]-48)+16*value;
    	else{printf("输入有误\n");
    	break;
    	}
    	i++;}
    printf("%d\n",value);
    }
    

    C++ :

    #include<stdio.h>
    int main()
    {
      int n;
      scanf("%x",&n);
      printf("%d",n);
      return 0;
    }
    

    Pascal :

    program acm26341;
    var n:string;
    
    function jz(n:string):longint;
    var i,s,l,z:longint;
    begin
     s:=0;
     for i:=1 to length(n) do begin
      z:=1;
      for l:=1 to i-1 do z:=z*16;
      if copy(n,length(n)-i+1,1)='1' then z:=z*1;
      if copy(n,length(n)-i+1,1)='2' then z:=z*2;
      if copy(n,length(n)-i+1,1)='3' then z:=z*3;
      if copy(n,length(n)-i+1,1)='4' then z:=z*4;
      if copy(n,length(n)-i+1,1)='5' then z:=z*5;
      if copy(n,length(n)-i+1,1)='6' then z:=z*6;
      if copy(n,length(n)-i+1,1)='7' then z:=z*7;
      if copy(n,length(n)-i+1,1)='8' then z:=z*8;
      if copy(n,length(n)-i+1,1)='9' then z:=z*9;
      if copy(n,length(n)-i+1,1)='A' then z:=z*10;
      if copy(n,length(n)-i+1,1)='B' then z:=z*11;
      if copy(n,length(n)-i+1,1)='C' then z:=z*12;
      if copy(n,length(n)-i+1,1)='D' then z:=z*13;
      if copy(n,length(n)-i+1,1)='E' then z:=z*14;
      if copy(n,length(n)-i+1,1)='F' then z:=z*15;
      s:=s+z;
     end;
     jz:=s;
    end;
    
    begin
     readln(n);
     writeln(jz(n));
    end.
    
    
    • 1

    信息

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