Hỏi về đọc xuất file trong C

Em mới học đọc xuất file trong C nên em viết thử bài toán này: nhập 3 số nguyên vào file input.txt, sắp xếp theo thứ tự tăng dần sau đó xuất ra file output.txt, nhưng không biết tại sao chương trình không chạy được,em vào 2 file đó thì lại không thấy dữ liệu nào cả, em bò 2 file đó chung file .c luôn

#include <stdlib.h>
int main(int argc, char *argv[]) 
{
    int A[3],i,j,tam;
    FILE *f;
    printf("Nhap 3 so:");
    scanf("%d %d %d",&A[0],&A[1],&A[2]);
    f=fopen("input.txt","w");
    fprintf(f,"%d %d %d",A[0],A[1],A[2]);
    for(i=0;i<3;i++)
    {
        for(j=i+1;j<3;j++)
        {
            if(A[i]>A[j])
            {
                tam=A[i];
                A[i]=A[j];
                A[j]=tam;
            }
        }
    }
    fclose(f);
    f=fopen("output.txt","w");
    fprintf(f,"%d %d %d",A[0],A[1],A[2]);
    fclose(f);
    return 0;
}

Code này thiếu thư viện stdio.h sao chạy được Kiệt?

Còn đoạn code này em muốn làm gì?

    for(i=0;i<3;i++)
    {
        for(j=i+1;j<3;j++)
        {
            if(A[i]>A[j])
            {
                tam=A[i];
                A[i]=A[j];
                A[j]=tam;
            }
        }
    }

Không liên quan nhưng mà j<=3 chứ :stuck_out_tongue:

j <= 3 lỗi sao :slight_smile: Vì mảng có 3 phần tử thôi mà.

code em có thu vien stdio.h mà :3 tai em paste thieu

ngãy chỗ đó sắp xếp tăng dần anh

à em chạy được rồi cám ơn mọi người

vì j = i + 1 nên điều kiện là j <=3, bạn ý ghi là j <3, không lẽ em hiểu sai bản chất của nó ư :stuck_out_tongue:

Khi j=3 thì A[j] sẽ thành A[3] trong khi mảng này chỉ có A[2] thôi :slight_smile:

1 Like

Em hiểu rồi anh Đạt :3 Cho em hỏi cái này, nếu như ở trên mình để i <2 cũng vẫn đúng phải ko ạ?

được chứ nhỉ :smiley: tại mình quen viết vây roi :))

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?