하나의 반복문안에 또 하나의 반복문을 중첩시킨다.
ANSIC표준에서는 적어도 15단계의 중첩까지 허용한다.
p117_예제 1
#include <stdio.h>
int main(void)
{
int answer, count, chances, right;
for(count=1; count<11; count++) {
printf("What is %d+%d?", count, count);
scanf("%d", &answer);
if(answer == count+count) printf("Right!\n");
else {
printf("Sorry, you're wrong\n");
printf("Try again\n");
right = 0;
//중첩된 for
for(chances=0; chances<3 && !right; chances++) {
printf("\nWhat is %d+%d?", count, count);
scanf("%d", &answer);
if(answer==count+count) {
printf("Right!\n");
right = 1;
}
}
if(!right) printf("the answer is %d.\n", count+count);
}
}
return 0;
}
p.118_예제 2
#include <stdio.h>
int main(void)
{
int i, j, k;
for(i=0; i<3; i++)
for(j=0; j<26; j++)
for(k=0; k<2; k++) printf("%c", 'A'+j);
printf("\n\n");
return 0;
}
p.118_연습 1
#include <stdio.h>
int main(void)
{
int i, j, p;
for(i=2; i<11; i++) {
p = 1; //p는 참이다.
for(j=2; j<=i/2; j++) {
if(!(i%j)) p = 0;
//if(i%j == 0) p = 0; 같은 의미다.
}
if(p==1) printf("%d\t", i);
}
return 0;
}
p.118_연습 2
#include <stdio.h>
#include <conio.h>
int main(void)
{
int i;
char ch;
printf("enter: ");
ch = getche();
printf("\n\n");
for(i=0; i<ch; i++) {
if(i%10 == 0) printf("\n");
printf(".");
}
printf("\n\n");
return 0;
}
*공부하기
for문 사용하여 구구단 만들기.