for문의 구조는

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

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

예제

#include<stdio.h>
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<stdio.h>
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<stdio.h>
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<stdio.h>
int main() {
	int n;
	scanf("%d", &n);
	puts("*******");
	for (size_t i = 1; i <= n; i++)
	{
		puts("*     *");
	}
	puts("*******");
}
//팩토리얼 구하기
#include<stdio.h>
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<stdio.h>
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<stdio.h>
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<stdio.h>
#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<stdio.h>
#include<math.h> //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<stdio.h>
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<stdio.h>
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<stdio.h>
#include<stdlib.h> //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<stdio.h>
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;
}

카테고리:

업데이트: