30/09/2018, 22:26
Cách hoạt động của while(n <= 0);?
#include<stdio.h>
#include<conio.h>
int main()
{
int i, n;
long S;
do
{
printf("
Nhap n(n > 0): ");
scanf("%d", &n);
if(n <= 0)
{
printf("
N phai > 0. Xin nhap lai !");
}
}while(n <= 0);
i = 1;
S = 0;
printf("
Cac uoc nho hon %d la",n);
while(i < n)
{
if(n % i == 0)
{
printf("%4d", i);
S = S + i;
}
i++;
}
printf("
Tong cac uoc nho hon %d la: %ld", n, S);
getch();
return 0;
}
giải thích giúp mình dòng while(n <= 0);
i = 1;
S = 0;
nều mình để i = 1;
S = 0;
sau scanf thì có sao k mấy bạn?
Bài liên quan
bỏ dấu ‘;’ sau while đi bạn nhé
ok mà bạn nói cho mình cái cách nó hoạt động với
do-while thì phải có dấu ‘;’ sau while nhé
cái này là kiến thức cơ bản. bạn gg ko thiếu gì bài biết.
while (<điều kiện>)
khi điều kiện đúng thì while sẽ lặp lại cho đến khi ko đúng nữa thì mới dừng lại
còn do-while thì nó sẽ thực hiện câu lệnh trong “do” trước rồi mới kiểm tra điều kiện
ừ nhỉ, mình nhầm , chắc tại lâu không động vào C
~~ cái đó thì mình biết, ý mình là while(n <= 0);
i = 1;
S = 0;
tại sao phải dùng while ở đây này nè
Lý do:
printf("\n N phai > 0. Xin nhap lai !");
nếu mình bỏ if đi thì mình ghi S=0 sau scanf dc không bạn?
Nguyên cái này chỉ làm nhiệm vụ đảm bảo người nhập n>0, nếu nhập n<0 thì sẽ bắt nhập lại.
Có thể chỉ viết:
Nếu chắc chắn sẽ nhập n>0
bây giờ để code vậy đi. Mà mình thắc mắc ở chỗ while(n <= 0);
i = 1;
S = 0;
còn phần do là
do
{
printf("\nNhap n(n > 0): “);
scanf(”%d", &n);
if(n <= 0)
{
printf("\n N phai > 0. Xin nhap lai !");
}
phải k bạn?
xem lại cấu trúc do while.