title: “c언어 반복문 for” categories:

  • C

    #c언어 반복문 for : 네이버 블로그

for문의 구조는

/\* for (초기식 ; 조건식 ; 증감식 )
 {

 }
\*/
 for (size\_t i = 0; i < length; i++) 
 {//i를 부호화없는 정수 0으로 초기화, i가 length보다 작으면 실행, 반복 1회당 i를 1씩 증가
 }

예제

#include
int main() {
 int i,o;
 //for(초기식;조건식;증감식){}
 scanf("%d", &o);
 for (size\_t i = 0; i < o; i++) //i를 0으로 초기화, i가 0보다 작으면 아래코드 실행,반복후 i++
 {
 puts("Hello, world");
 }
}

//입력한 정수까지 정수의 합을 구하는 코드
#include
int main() {
 int o;
 int sum = 0;
 //for(초기식;조건식;증감식){}
 scanf("%d", &o);
 for (size\_t i = 0; i <= o; i++) //i가 1씩 올라가는데 i를 sum에 더한다
 {
 sum = sum + i;
 }
 printf("1부터 %d까지의 합 %d\n", o, sum);
}
//i가 증가하면서 세제곱 출력하기
#include
int main() {
 int n;
 scanf("%d", &n);
 for (size\_t i = 0; i <= n; i++)
 {
 printf("%d의 세제곱 %d\n", i,i\*i\*i); printf를 반복 실행시킨다
 }
 printf("1부터 %d까지의 세제곱이 끝났습니다 %d\n", n);
}
//n만큼 (\* \*)출력
#include
int main() {
 int n;
 scanf("%d", &n);
 puts("\*\*\*\*\*\*\*");
 for (size\_t i = 1; i <= n; i++)
 {
 puts("\* \*");
 }
 puts("\*\*\*\*\*\*\*");
}
//팩토리얼 구하기
#include
int main() {
 int fact = 1;
 int i, n;
 
 puts("정수를 입력하세요");
 scanf("%d", &n);
 
 for (size\_t i = 1; i <= n; i++) //n까지 1씩 올라가는 i를 곱한다
 fact = fact \* i;
 
 printf("%d!는 %d입니다", n, fact);
}
// \*\*\*\*\*\*\*\*\*\* 5줄 출력하기
#include
int main() {
 int x, y;
 for (y = 0; y < 5; y++) //10이 될때까지 반복하는 것을 5번 반복
 {
 for (x=0; x < 10; x++) //x를 0으로 초기화 한 후 10이될때까지 반복
 {
 printf("\*");
 }
 printf("\n");
 }



}

#include
int main() {
 int a,b,c,d;
 for (a = 1; a <= 100; a++)
 for (b = 1; b <= 100; b++)
 for (c = 1; c <= 100; c++)
 if (a\*a + b\*b == c\*c)
 printf("%d %d %d\n", a, b, c);
}

위 코드는 직각삼각형이 될 수 있는 세변의 길이를 구할 수 있는 코드이다.

a, b, c를 1씩 올리면서 a*a + b*b = c*c가 되면 출력한다

#include
#define SEED\_Money 100 //처음의 돈
#define INTERST\_YEAR 0.3 //연이율
 int main() {
 int year = 0, money = SEED\_Money;
 while (1) //break가 나올때까지 무한 반복 (참)
 {
 year++; //1년이 증가할때마다
 money += money \* INTERST\_YEAR; //돈에 연이율을 곱하고 더한다
 if (money > 10 \* SEED\_Money) //처음 돈의 10배가 넘으면 반복을 그만한다.
 break;
 }
 printf("%d\n", year);
}
#include
#include //math.h 헤더를 가져와 sqrt 함수를 실행 가능하게 한다.
int main() {
 double v;
 while (1) //무한으로 반복한다
 {
 printf("실수값을 입력하시오:");
 scanf("%lf", &v);
 if (v < 0.0) 
 break;
 printf("%f의 제곱근은 %f입니다\n", v, sqrt(v)); //v의 제곱근을 구한다

 }
}
#include
int main(void) {
 char letter;
 while (1) {
 puts("소문자를 입력하세요");
 scanf(" %c", &letter);
 if (letter >= 'A' && letter <= 'Z')
 continue;
 if (letter >= 'a' && letter <= 'z')
 letter = letter - 32;
 printf("변환된 대문자는 %c입니다 \n", letter);
 }
}

continue는 반복중인 작업을 멈추고 처음부터 반복시킨다

아래는 소문자를 입력받으면 대문자를 출력하는 코드이다.

#include
int main(void) {
 char letter;
 while (1) {
 puts("소문자를 입력하세요");
 scanf(" %c", &letter);
 if (letter == 'Q') //Q를 입력하면 종료시킨다
 break;
 if (letter < 'a' || letter > 'z') //a보다 작거나 z보다 크면(소문자가 아니면) 처음부터 반복한다
 continue;
 letter -= 32; //위의 조건에 걸리지 않으면 -32를 한 후 출력시킨다.
 printf("변환된 대문자는 %c입니다 \n", letter);
 }
}

#include
#include //srand, rand
int main(void) {
 int x, y, answer, i;
 srand(time(NULL)); //난수 발생기 초기화

 for (size\_t i = 0; i < 10; i++)
 {
 x = rand() % 10; //10까지중 숫자 생성
 y = rand() % 10; 
 printf("%d + %d =", x, y);
 scanf("%d", &answer);
 if (x + y == answer)
 puts("맞았습니다");
 else
 puts("틀렸습니다");
 }
}

파이 구하기

#include
int main(void) {
 double divisor, divident, sum;
 int loop\_count;
 divisor = 1.0;
 divident = 4.0;
 sum = 0.0;
 puts("반복횟수?");
 scanf("%d", &loop\_count);

 while (loop\_count > 0)
 {
 sum = sum + divident / divisor;ㅅ
 divident = -1.0\*divident; //라이프니츠 공식 ,분모를 2씩 늘리고 더했다 뺀다
 divisor = divisor + 2;
 loop\_count--;
 }
 printf("Pi=%f\n",sum);
 return 0;
}

업데이트: