Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 4 của 4
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Thắc mắc về lỗi xảy ra trên bài tập C đơn giản của mình

    Chào mọi người, mình mới làm quen với lập trình C, mình có làm 1 bài tập như sau:
    " liệt kê các giá trị x nguyên từ -10 đến 10 sao cho x*x+1<6", dưới đây là code mình viết

    #include <stdio.h>
    #include <conio.h>
    #include <math.h>

    int main()
    //liet ke cac gia tri x chay tu -10 den 10 sao cho x^2+1<6
    {signed int a[21];
    signed int i;
    for(i=-10;i++;i<10)
    {
    a[i]=i*i+1;
    if(a[i]<6)
    {printf("
    a[%d]:%d",i,a[i]);
    }
    }
    printf("
    --------------end-----------");
    getch();
    }

    nếu đúng ra thì nó sẽ hiển thị 5 giá trị i là -2, -1,0,1,2 đúng k ạ? nhưng khi em chạy ct nó chỉ hiển thị -2,-1,0 là hết

    như thế là do code mình sai ở đâu ạ? cảm ơn mọi người nhiều[IMG]images/smilies/smile.png[/IMG]

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    a[-10] là cái gì vậy bạn :|
    Chỉ có từ a[0] trở đi mới xài được thôi.

    Câu for thì phải đảo i++ với i<10 lại.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình góp ý code của bạn xíu là:
    - Không cần khai báo mảng, vì thấy không cần dùng.
    - Vì khai báo phương thức main là int main() , kết thúc bạn nên có giá trị return
    - Bạn chỉ cần cho for() chạy từ -10 đến 10, rùi giá trị nào thỏa mãn biểu thức (i * i + 1) < 6 thì printf() biến i ra là dc


    Mã:
    #include <stdio.h>#include <conio.h> int main()     //liet ke cac gia tri x chay tu -10 den 10 sao cho x^2+1<6{    signed int i;    signed int bieuthuc = 0;     for( i=-10; i<10; i++ )    {        bieuthuc = i * i + 1;         if (bieuthuc < 6) {            printf( "%d
    ", i );        }    }     getch();    return 0;}

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    ờ sao mình gà thế nhỉ, sai cơ bản quá, tks bạn nhiều mà sao ở đây ko thấy nút tks vậy nhỉ :v

    - - - Nội dung đã được cập nhật ngày 17-07-2016 lúc 09:11 AM - - -

    Trích dẫn Gửi bởi minhhn0205
    Mình góp ý code của bạn xíu là:
    - Không cần khai báo mảng, vì thấy không cần dùng.
    - Vì khai báo phương thức main là int main() , kết thúc bạn nên có giá trị return
    - Bạn chỉ cần cho for() chạy từ -10 đến 10, rùi giá trị nào thỏa mãn biểu thức (i * i + 1) < 6 thì printf() biến i ra là dc


    Mã:
    #include <stdio.h>#include <conio.h> int main()     //liet ke cac gia tri x chay tu -10 den 10 sao cho x^2+1<6{    signed int i;    signed int bieuthuc = 0;     for( i=-10; i<10; i++ )    {        bieuthuc = i * i + 1;         if (bieuthuc < 6) {            printf( "%d
    ", i );        }    }     getch();    return 0;}
    tks bạn nhiều lắm, cả bạn trên nữa mà sao mình ko thấy nút tks nên ko ấn được :'(

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •