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

Đề tài: [C] cho mình hỏi về hàm pow

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

    Mặc định [C] cho mình hỏi về hàm pow

    mình viết một trương trình như thế này :
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    main()
    {
    double x,y,z;
    clrscr();
    printf("\nnhap x:");
    scanf("%d",&x);
    printf("\nnhap y:");
    scanf("%d",&y);
    z=pow(x,y);
    printf("z= %d",z);

    getch();
    }

    nhưng khi chạy thì giá trị của z=0. Ai giúp mình với

  2. #2
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Trích dẫn Nguyên bản được gửi bởi mimy Xem bài viết
    mình viết một trương trình như thế này :
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    main()
    {
    double x,y,z;
    clrscr();
    printf("\nnhap x:");
    scanf("%d",&x);
    printf("\nnhap y:");
    scanf("%d",&y);
    z=pow(x,y);
    printf("z= %d",z);

    getch();
    }

    nhưng khi chạy thì giá trị của z=0. Ai giúp mình với
    Hix, cậu khai báo 3 biến x,y,z là kiểu double, rồi cho nhập biến x,y theo kiểu int, tính và in ra giá trị của z cũng theo kiểu int, nên không đúng là phải, bạn sửa lại như sau
    Code:
    main()
    {
    	double x,y,z;
    	clrscr();
    	printf("\nnhap x:"); //sửa ở đây
    	scanf("%lf",&x);
    	printf("\nnhap y:");
    	scanf("%lf",&y); //sửa ở đây
    	z=pow(x,y);
    	printf("z= %lf",z); //sửa ở đây
    	getch();
    }

  3. #3
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Cậu giỏi mục C/C++ cơ bản, đăng kí vào MOD box này để quản lý đi. SH dạo này ít thấy mặt mũi đâu *_* để box này nhiều rác quá.

  4. #4
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Uhm nhưng mà ở giữa hàm scanf với printf kid nghĩ nên có thêm fflush(stdin) nếu không không nhập giá trị y được .

  5. #5
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Trích dẫn Nguyên bản được gửi bởi kidkid Xem bài viết
    Uhm nhưng mà ở giữa hàm scanf với printf kid nghĩ nên có thêm fflush(stdin) nếu không không nhập giá trị y được .
    Không cần fflush(stdin) đâu kidkid à, chỉ khi nào cậu nhập 1 chuỗi trước khi nhập 1 số (hoặc ngược lại) thì mới cần câu lệnh fflush(stdin) thôi.

  6. #6
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Mặc định [C] cho mình hỏi về hàm pow

    printf("\nnhap x:");
    scanf("%d",&x);
    printf("\nnhap y:");
    scanf("%d",&y);
    uhm Trong câu lệnh scanf thứ nhất , trong studin sẽ còn giữ mã của thằng enter lại ( 13) như thế sau khi nó printf() ra hàm scanf nó sẽ chạy luôn mà không chờ người dùng nhập vào . kidkid nghĩ thế

  7. #7
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Trích dẫn Nguyên bản được gửi bởi kidkid Xem bài viết
    uhm Trong câu lệnh scanf thứ nhất , trong studin sẽ còn giữ mã của thằng enter lại ( 13) như thế sau khi nó printf() ra hàm scanf nó sẽ chạy luôn mà không chờ người dùng nhập vào . kidkid nghĩ thế
    Hi,lúc mới học C,tớ cũng nghĩ như kid, nhưng qua nhiều bài tập làm trên lớp, tớ biết lúc nào sử dụng fflush. Thật ra thì kid nói đúng, thằng Enter gồm có 2 mã 13 và 10, nó sẽ được giữ lại trên bàn phím. Nhưng...hàm scanf("%d",&so) nó đã mách bảo với chương trình rằng "chỉ được nhận các con số, mấy cái khác không cần quan tâm".kid chỉ thêm vào fflush(stdin) khi xảy ra tình huống như đoạn code dưới đây:
    Code:
    printf("Nhap 1 so:");
    scanf("%d",&so);
    printf("Nhap 1 chuoi:"); //[b] nên thêm fflush(stdin) trên dòng gets này
    gets(chuoi);
    kid cứ thử mà xem, bảo đảm nó sẽ không cho kid nhập chuỗi

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