Em gặp một chút vướng mắc với vòng lặp for khi thực hiện bài toán liệt kê dãy nhị phân. Sau một hồi loay hoay, em đã hoàn thành được bài toán tuy nhiên không hiểu tại sao vòng lặp for thực hiện lại từ đầu (quay đầu) khi gặp câu điều kiện if. Mong các anh chị cḥ̣ỉ dẫn giúp em. Dưới đây là code em đã thực hiện thành công:
#include <stdio.h>
int main()
{
int i,n,a[30];
printf("Nhap vao do dai day nhi phan: ");
scanf("%d",&n);
for(i=1;i<=n;i++) {
a[i]=0;
printf("%d",a[i]);
}
printf("\n");
for(i=n;i>0;i--) {
if(a[i]==0) {
a[i]+=1;
for(i=i+1;i<=n;i++)
a[i]=0;
for(i=1;i<=n;i++)
printf("%d",a[i]);
printf("\n");
}
}
return 0;
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?