#include <stdio.h>
#include <stdlib.h>
typedef union _num {
    long int integer;
    double floating;
} NumberU;
typedef struct _n {
    char type;
    NumberU data;
} Number;
int main() {
    FILE *fp;
    int c,i;
    char buff[16];
    Number num[10];
    fp=fopen("data.txt","r");
    for(c=0;c<10 && NULL!=fgets(buff,sizeof(buff),fp);){
        char *ck;
        long di;
        double dd;
        di=strtol(buff, &ck, 0);
        if(*ck == '\n'|| *ck == '\0'){
            num[c].type = 'i';
            num[c++].data.integer = di;
            continue;
        }
        dd=strtod(buff, &ck);
        if(*ck == '\n'|| *ck == '\0'){
            num[c].type = 'f';
            num[c++].data.floating = dd;
            continue;
        }
        fprintf(stderr, "error input:%s\n", buff);
    }
    fclose(fp);
    for(i=0;i<c;++i){
        if(num[i].type=='i')
            printf("%ld\n", num[i].data.integer);
        else if(num[i].type=='f')
            printf("%lf\n", num[i].data.floating);
    }
    return 0;
}