C언어 반복문 for
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;
}