#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;
}