30/09/2018, 16:51

Về do...while trong C


    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
        int i=0;
        printf("nhap i:");
        scanf("%d",&i);
        do{printf("Nhap so i lon hon 7");
        }
        while(i>7);
        system("pause");
        return 0;
        }

trong bài trên nếu mình nhập giá trị i <7 thì nó sẽ thực hiện in ra câu " Nhap so i lon hon 7" đúng 1 lần rồi tắt , nhưng nếu nhập 1 số i>8 thì nó sẽ liên tục in ra câu " Nhap so i lon hon 7" liên tục , gần như là chạy vô tận . Có cách nào dừng lại khi mình nhập đúng điều kiện i> 7 không ?

Nguyễn Trọng Phương viết 19:08 ngày 30/09/2018

Bạn nhét 2 dòng
printf(“nhap i:”);
scanf("%d",&i);
vào trong câu lệnh do while nha dưới cái dòng printf(“Nhap so i lon hon 7”);
bạn sẽ thấy sự khác biệt
còn nữa bạn sửa lại điều kiện của while là i <= 7 .

anonymous viết 18:56 ngày 30/09/2018

ok , cảm ơn bạn , m quên mất cái điều kiện kia nếu nhập i=8 nó luôn đúng nên nó lặp vô hạn
phài đổi về i<=7

Nguyễn Tiến Thông viết 19:03 ngày 30/09/2018

Mình nghĩ trong trường hợp này sao không dùng While không thôi, vì nếu trong trường hợp này bạn nhập giá trị bao nhiêu (thỏa hoặc không) thì chương trình đều in ra dòng “Nhap so i lon hon 7” rồi nó mới xét điều kiện while.

anonymous viết 19:00 ngày 30/09/2018

à mình muốn thử do … while ấy mà

Bài liên quan
0