[c언어] 반복문 문제

yunssup·2023년 4월 25일

C언어

목록 보기
6/13
post-thumbnail
  1. while문을 이용한 구구단 출력 프로그램
#include<stdio.h>

int main(void)
{
	int num;/*출력을 원하는 단*/
	int i=1;/*곱해지는 수*/

	printf("출력하고 싶은 단을 입력하시오 :");
	scanf_s("%d", &num);

	while (i <= 9) {
		printf("%d * %d = %d\n", num, i, num*i);
		i++;
	}
	return 0;
}

  1. while문을 이용한 제곱값 출력 프로그램
#include<stdio.h>

int main(void)
{
	int num=1; /*제곱할 수*/

	printf("===================\n");
	printf(" n   n의 제곱\n");
	printf("===================\n");

	while (num <= 10) {
		printf("%d :: %d\n", num, num * num);
		num++;
	}
}

  1. while문을 이용하여 1부터 n까지의 합 계산하기
#include<stdio.h>

int main(void)
{
	int num;/*더하는 마지막 수*/
	int i=1;
	int sum=0;

	printf("정수를 입력하시오 :");
	scanf_s("%d", &num);

	while (i <= num) {
		sum = sum + i;
		i++; /* i=i+1 */
	}
		printf("1부터 %d까지의 합은 %d입니다.", num, sum);
	return 0;
}

  1. while문을 이용하여 n까지 짝수의 합을 구하시오
#include<stdio.h>

int main(void)
{
	int num;/*더하는 마지막 수*/
	int i=0;
	int sum=0;

	printf("정수를 입력하시오 :");
	scanf_s("%d", &num);

	while (i <= num) {
		sum = sum + i;
		i = i + 2;
	}
		printf("1부터 %d까지의 짝수합은 %d입니다.", num, sum);
	return 0;
}

  1. while문을 이용한 합계 프로그램
#include<stdio.h>

int main(void)
{
	int num;/*더하는 수*/
	int i=1;
	int sum=0;
	while (i <= 5) {
		printf("정수를 입력하시오 :");
		scanf_s("%d", &num);
		sum = sum + num;
		i++;
	}
	printf("합계는 %d입니다.", sum);
	
	return 0;
}

  1. while문을 이용하여 성적들의 평균 구하기
#include<stdio.h>

int main(void)
{
	int grade=0;
	int n=0;
	int sum=0;
	int average;

	printf("성적 입력을 종료하려면 음수를 입력하시오\n");

	while (grade>=0)
	{
		printf("성적을 입력하시오 :");
		scanf_s("%d", &grade);

		sum = sum + grade;
		n++;
	}
	sum = sum - grade;/*마지막 데이터 제거 : 프로그램 종료값*/
	n--;/*마지막 데이터 제거 : 프로그램 종료값*/
	average = sum / n;

	printf("성적의 평균은 %d 입니다.",average);
	
	return 0;
}

  1. while문을 이용하여 사용자가 입력한 두 숫자의 최대공약수를 계산하는 프로그램을 작성한다.
#include<stdio.h>

int main(void)
{
	int x;/*작은 수*/
	int y;/*큰 수*/
	int r;/*나머지*/

	printf("두개의 정수를 입력하시오 :");
	scanf_s("%d%d", &x, &y);

	while (y != 0) {
		r = x % y;
		x = y;
		y = r;
	}
	printf("최대 공약수는 %d입니다.",x);

	return 0;
}

  1. 사용자가 입력한 3개의 정수의 합을 계산하여 출력한다. 다만 사용자가 음수를 입력하면 이것은 합계에서 제외된다.
#include<stdio.h>

int main(void)
{
	int num=0;/*더하는 수*/
	int i = 1;
	int sum = 0;

	while (1) {
		printf("정수를 입력하시오 :");
		scanf_s("%d", &num);
		if (num < 0) continue;
		sum = sum + num;
		i++;
		if (i > 3) break;
	}
	printf("합계는 %d입니다.", sum);

	return 0;
}

  1. 자동차의 연료 탱크 프로그램을 시뮬레이션 하여 보자. 초기값이 100리터이다. 사용자가 주행을 하면 연료가 줄어든다.
    반복문을 사용하여서 사용자로부터 충전 또는 사용한 연료를 입력 받아서 연료 탱크에 남아 있는 연료가 20리터 미만이면 경고를 출력한다. 0을 입력하면 시뮬레이션이 종료된다.
#include <stdio.h>

int main(void)
{
	int Current_Fuel = 100; /*현재 연료량*/
	int Fuel; /*추가,소모 연료*/

	printf("현재 연료량 : %d\n", Current_Fuel);

	while (1) {
		printf("연료 충전은 +, 소모는 -로 입력해주세요 : ");
		scanf_s("%d", &Fuel);
		Current_Fuel = Current_Fuel + Fuel;

		if (Fuel == 0) break;


		if (Current_Fuel > 20) {
			printf("현재 연료량 : %d\n",Current_Fuel);
		}
		else {
			printf("현재 연료량 : %d\n", Current_Fuel);
			printf("(경고) 연료가 20리터 미만입니다.\n");
		}
	}

	return 0;
}
  1. 다음과 같은 메뉴를 화면에 출력하고 사용자가 메뉴 중에서 하나를 선택할 때까지 반복을 계속한다. 만약 사용자가 A, S, M, D, Q가 아닌 다른 문자를 입력하면 “연산을 선택하시오:” 메시지를 계속해서 출력한다. 하나의 메뉴가 선택되면 해당되는 연산을 실행하고 다시 메뉴를 선택할 수 있도록 하라.
#include <stdio.h>
int main(void)
{
    char a;
    int x, y;
    printf("****************\n");
    printf("A----Add\n");
    printf("S----Subtract\n");
    printf("M----Multiply\n");
    printf("D----Divide\n");
    printf("Q----Quit\n");
    printf("****************\n");
    do {
        printf("연산을 선택하시오:");
        scanf_s(" %c", &a);

        if (a == 'Q')
            break;
        if ((a == 'A') || (a == 'S') || (a == 'M') || (a == 'D'))
        {
            printf("두 수를 공백으로 분리하여 입력하세요: ");
            scanf_s("%d %d", &x, &y);
            if (a == 'A')
                printf("연산의 결과는 %d입니다.\n", x + y);
            else if (a == 'S')
                printf("연산의 결과는 %d입니다.\n", x - y);
            else if (a == 'M')
                printf("연산의 결과는 %d입니다.\n", x * y);
            else if (a == 'D')
                printf("연산의 결과는 %d입니다.\n", x / y);
            break;
        }
    } while (1);
    return 0;
}

0개의 댓글