숫자가 들어있는 txt에서 숫자 빼내기...
설아
질문 제목 : 숫자가 들어있는 txt에서 숫자 빼내기... 숫자가 들어있는 txt에서 숫자 빼내서 x, y, z에 대입해서 sort을 하고 싶습니다.
그런데 결과는
-0.0000
000000
000000
이런 식으로 나오네요... 뭐가 문제일까요?
질문 내용 :
num1.txt는 그저 간단한
3.00
2.30
1
따위의 숫자 배열입니다.
#include stdio.h
#define max 100
void sort3(double *x, double *y, double *z);
int main(int argc, char *argv[]) {
int i=0;
file * fp;
double x, y, z;
double nums[max];
if(argc 2){
fprintf(stderr, error: incorrect usage\n);
}
fp = fopen(nums1.txt,r);
if(fp != null){
while(i 3 && fscanf(fp,%lf,&nums[i]) == 1){
i++;
}
}
fclose(fp);
nums[0] = x;
nums[1] = y;
nums[2] = z;
sort3(&x, &y, &z);
printf(%lf\n%lf\n%lf\n, x, y, z);
return 0;
}
void sort3(double *x, double *y, double *z){
double help;
int swapped=1;
while ( swapped ) {
swapped=0;
if ( *x *y ){
help = *x ;
*x = *y ;
*y = help ;
swapped=1;
}else if ( *x *z ){
help = *x ;
*x = *z ;
*z = help ;
swapped=1;
}else if ( *y *z ){
help = *y ;
*y = *z ;
*z = help ;
swapped=1;
}
}
}
-
범한
컴파일 오류가 발생할텐데요?
그것말고도 main에서는 nums1.txt를 열려고 하는데 질문에서는 num1.txt로 되어있네요.