Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: In ra các số chính phương mà in dư

  1. #1
    Ngày gia nhập
    02 2012
    Bài viết
    0

    Mặc định In ra các số chính phương mà in dư

    mọi người xem phần code này nhé :

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    int chinhphuong(int so);
    int chinhphuong(int so)
        {
         int i,c;
         for (i=1;i<=so;i++)
            {
            c=sqrt(i);
            if (c*c==i)
                printf("%d ",i);
            }
            }
    void main()
    {
     clrscr();
     int a,n;
     printf("nhap so can tim : ");
     scanf("%d",&a);
     n=chinhphuong(a);
     printf("%d ",n);
     getch();
    }
    tại sao khi in ra màn hình kết quả thì lại in dư
    Vd : nhập 10 nó in 1 4 8 9 9 , tại sao lại là hai số 9
    ngoc thank trước !

  2. #2
    Ngày gia nhập
    02 2012
    Bài viết
    0

    có ai giúp ngoc với

  3. #3
    Ngày gia nhập
    12 2009
    Nơi ở
    Thanh Xuan, HN, Vietnam
    Bài viết
    42

    Trích dẫn Nguyên bản được gửi bởi ngoc426123 Xem bài viết
    có ai giúp ngoc với
    Bạn có lệnh in trong hàm con sao hàm chính lại còn có lệnh in kết quả
    Code:
    printf("%d ",n);
    Mình bỏ đi và chạy trên C-Free thì ok
    Bạn thử bỏ xem sao. Bạn cũng để ý hàm căn bậc hai sqrt() có thể cho kết quả căn là số thực. Nên ép kiểu nguyên để được làm tròn xuống. Chỉ những số chính phương thì bình phương lên vẫn được số ban đầu thôi.OK

    Full name: Nguyễn Đăng Quang
    Skype: mr.quanga3
    Gmail: dangquangk53a3@gmail.com
    Mobile: 0166.978.6636

  4. #4
    Ngày gia nhập
    03 2012
    Nơi ở
    Bình Thuận(đang học ở HCM)
    Bài viết
    2

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    int chinhphuong(int so);
    int chinhphuong(int so)
        {
         int i,c;
         for (i=1;i<=so;i++)
            {
            c=sqrt(i);
            if (c*c==i)
                printf("%d ",i);/*trong hàm này bạn đã xuất ra rồi*/
            }
            }
    void main()
    {
     clrscr();
     int a,n;
     printf("nhap so can tim : ");
     scanf("%d",&a);
     n=chinhphuong(a);
     printf("%d ",n);/*cái này bị dư*/
     getch();
    }

  5. #5
    Ngày gia nhập
    11 2011
    Bài viết
    32

    Bạn nên tự debug trước đi, nhiều khi tự mình phát hiện ra lỗi mà ko cần phải post lên hỏi, chờ trả lời cũng mất tg
    Thân

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn