1 条题解

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

    C :

    #include<stdio.h>
    int main() 
    {  
    char str[50],*pstr;  
    int i,j,k,m,e10,digit,ndigit,a[10],*pa;  
    gets(str);  
    pstr=&str[0]; 
    pa=&a[0]; 
    ndigit=0; 
    i=0; 
    j=0;  
    while(*(pstr+i)!='\0') 
    {if((*(pstr+i)>='0') && (*(pstr+i)<='9')) 
    j++; 
    else  
    {if (j>0)  
    {digit=*(pstr+i-1)-48; 
    k=1;  
    while (k<j) 
    {e10=1; 
    for (m=1;m<=k;m++) 
    e10=e10*10; 
    digit=digit+(*(pstr+i-1-k)-48)*e10; 
    k++; 
    }  
    *pa=digit; 
    ndigit++;  
    pa++; 
    j=0; 
    } 
    } 
    i++; 
    }  
    if (j>0)
    {digit=*(pstr+i-1)-48; 
    k=1;  
    while (k<j) 
    {e10=1;  
    for (m=1;m<=k;m++)  
    e10=e10*10; 
    digit=digit+(*(pstr+i-1-k)-48)*e10; 
    k++; 
    }  
    *pa=digit;
    ndigit++; 
    j=0; 
    }  
    printf("%d\n",ndigit); 
    j=0;  
    pa=&a[0];  
    for (j=0;j<ndigit;j++) 
    printf("%d\n",*(pa+j)); 
    return 0; 
    }
    
    • 1

    信息

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