//▩ C언어를 이용한 필수 기초 알고리즘 - 제어 반복문의 활용 1

/***********************************************
1. 100~999 사이에 7의 배수의 갯수와 합을 구하는
   프로그램을 작성하세요.
                                답 : 128, 70336
***********************************************/
//▷ 7의 배수를 한줄에 10개씩 출력하는 프로그램을 작성하세요.
/*****************************************************
2. 100~999 사이에 7의 배수가 아닌 수들의 갯수와 합을
   구하는 프로그램을 작성하세요. 
                                답 : 772, 424214
******************************************************/

/*
#include <stdio.h>
#include <conio.h>

void main()
{   
    long int i,cnt,sum,nmg;
    long int cnt2,sum2;

    cnt=sum=cnt2=sum2=0L;

    for(i=100; i<=999; i++)
    {
        nmg = i%7;
        if(nmg)
        {// 7의 배수가 아닐때
            sum2 += i;
            cnt2++;
        }
        else
        {// 7의 배수 일때
            if(cnt==0)
            {
                printf("==발견된 7의 배수들==\n");
            }
           
            printf("%d ", i);
            sum += i;
            cnt++;
            if(cnt%10==0)
            {// 10줄씩 출력
                printf("\n");
            }
        }
    }
    printf("\n 7의 배수의 갯수: %5ld\n  합 : %5ld\n",cnt,sum);    
    printf("\n 7의 배수아닌수의 갯수: %5ld\n  합 : %5ld\n",cnt2,sum2);    
    getch();
    } 

*/

/*****************************************************
3. 최대값 , 최소값을 구하는 프로그램을 제작 하세요.
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main()
{
    int  no,data,max,min,cnt;

    printf("입력할 자료의 갯수는 ? ");
    scanf("%d",&no);
    cnt=1;
   
    printf("데이터를 입력해 주세요.\n------------------------\n");

    scanf("%d",&data);

    max=min=data;//첫번째 입력값으로 최대,최소값 초기화

    do
    {
        cnt++;
        scanf("%d",&data);
        if( max < data ) max = data;
        if( min > data ) min = data;
    } while( cnt < no );

    printf("\n   최대값 : %5d\n   최소값 : %5d\n", max, min);
    getch();
}
*/

/*****************************************************
4. 5개의 정수를 입력 받아 수의 범위를 구하는
   프로그램을 작성하시오.
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main(){
    int  tbl[5], i, max, min, range;

    for(i=0;i<5;i++)
    {
        scanf("%d", &tbl[i]);
    }

    printf("입력받은 데이터 : \n");

    for(i=0;i<5;i++)
    {
        printf("%5d",tbl[i]);
    }

    max=min=tbl[0];//첫번째 데이터로 최대,최소값 초기화

    for(i=1;i<5;i++)
    {
        if(max<tbl[i]) max=tbl[i];
        if(min>tbl[i]) min=tbl[i];
    }

    range=max-min;//범위
   
    printf("\n\n   입력받은 수의 범위 : %5d\n",range);
    getch();
}                                                                         
*/

/*****************************************************
5. 하나의 수를 입력받아 양수, 음수 인지
   출력하는 프로그램 작성하세요.
*****************************************************/
/*****************************************************
6. 하나의 수를 입력받아 부호를 무조건 양수로 바꾸어
   출력하는 프로그램을 작성하세요.
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main()
{
    int i;

    printf("** 수를 입력해주세요 **\n");
    scanf("%d",&i);

    if(i<0)
    {//음수 일때
        printf("당신이 입력한 수는 음수 입니다\n");
        i*=-1;//부호 반전
    }
    else
    {//0, 양수 일때
        printf("당신이 입력한 수는 양수 입니다.\n");       
    }

    printf("절대값 : %d",i);
    getch();
}
*/
/*****************************************************
7. 세 과목의 점수(0~100)를 입력받아 평균을 구한 후
   평균이 90점 이상이면 "A", 80이상이면 "B",
   70 이상이면 "C", 60이상이면 "D", 그렇지 않으면
   "F"를 출력하는 프로그램을 작성하세요.
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main() {
   int kor, eng, mat, ave;
             
   printf("국어 점수를 입력하세요 : ");
   scanf("%d", &kor);
   printf("영어 점수를 입력하세요 : ");
   scanf("%d", &eng);
   printf("수학 점수를 입력하세요 : ");
   scanf("%d", &mat);

   ave=(kor+eng+mat)/3;//평균
   printf("점수의 평균은 %d입니다.\n", ave);

   switch(ave/10) {
     case 10 :
     case 9 :
        printf("당신의 평가는 A입니다.");
        break;
     case 8 :
        printf("당신의 평가는 B입니다.");
        break;
     case 7 :
        printf("당신의 평가는 C입니다.");
        break;
     case 6 :
        printf("당신의 평가는 D입니다.");
        break;
     default :
        printf("당신의 평가는 F입니다.");
   }
    getch();
}
*/
//▩ 제어 반복문 활용 2
/*****************************************************
1. 대문자 X 를 입력할 때 까지 입력된 글자에 따라
   메뉴를 출력하는 프로그램을 작성하세요.
*****************************************************/
/*
#include <conio.h>

void main() {
   char c;

   do {
     printf("메뉴 코드를 입력하세요 : ");
     c=getch();
     putchar(c);
     if(c>=97) c -= 32;//소문자입력시 대문자로 변환

     switch(c) {
       case 'F' :
           printf("\nFile MENU\n");
              break;
       case 'E' :
              printf("\nEdit MENU\n");
              break;
       case 'H' :
              printf("\nHelp MENU\n");
              break;
       case 'X' :
              printf("\n프로그램을 종료합니다.\n");
              break;

       default :
              printf("\n잘못된 입력입니다.\n");
     }
   } while(c!='X');
   getch();
}
*/

/*****************************************************
2. 1부터 3까지 a와 b의 값를 출력하는 데, a, b가 같은
   경우는 출력되지 않도록 프로그램을 작성해 보세요.


출력 결과:

a=1 b=2
a=1 b=3
-------
a=2 b=1
a=2 b=3
-------
a=3 b=1
a=3 b=2
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main()
{
    int a,b;

    for(a=1; a<=3; a++)
    {
        for(b=1; b<=3; b++)
        {
            if(a==b) continue;
            printf("a=%d b=%d \n", a, b);
        }
        printf("---------\n");
    }
    getch();
}
*/
/*****************************************************
3. 제어문을 이용하여 아래와 같이 출력되는
   프로그램을 제작해 보세요.


1
2   3
4   5   6
7   8   9  10
11  12  13  14  15
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main()
{
    int i,j;
    int k=1;
   
    for(i=1; i<=5; i++)
    {
        for(j=1; j<=i; j++)
        {           
            printf("%2d ",k++);
            if(j>=i) printf("\n");
        }
    }
    getch();
}
*/
/*****************************************************
4. 제어문을 이용하여 아래와 같이 출력되는
   프로그램을 제작해 보세요.

3
6   9
12  15  18
21  24  27  30
33  36  39  42  45
*****************************************************/
/*
#include <conio.h>
#include <stdio.h>

void main()
{
    int i,j;
    int m=0;
   
    for(i=1; i<=5; i++)
    {
        for(j=1; j<=i; j++)
        {           
            printf("%2d ",m+=3);           
        }
         printf("\n");
    }
    getch();
}
*/
/*****************************************************
5. 제어문을 이용하여 아래와 같이 출력되는
   프로그램을 제작해 보세요.


                 1
             2   3
         4   5   6
     7   8   9  10
11  12  13  14  15
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

main(){
        int i, j, o,cnt,k;
   
    cnt=0,k=1;

        for(i=5; i>=1; i--){
                for(j=1; j<=5; j++){

                        if(i>j){
                                printf("     ");
                        }else{
                cnt=cnt+1;
                                printf("%5d", cnt);
                }
                }
           printf("\n");
        }
   
    for(i=1; i<=5; i++)
    {//다른방법
        for(o=1; o<=5-i; o++)
        {
            printf("     ");
        }
        for(j=1; j<=i; j++)
        {            
            printf("%5d",k++);              
        }
        printf("\n");
    }
    getch();
}
*/

/*****************************************************
6. 제어문을 이용하여 아래와 같이 출력되는
   프로그램을 제작해 보세요.


               15
           14  13
       12  11  10
    9   8   7   6
5   4   3   2   1
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main()
{
    int i, j, cnt=16;   
    for(i=5; i>=1; i--)
    {
        for(j=1; j<=5; j++)
        {
            if(i>j)
            {
                printf("   ");
            }else{
                cnt=cnt-1;
                printf("%2d ", cnt);
            }
                }
           printf("\n");
        }
    getch();
}
*/
//▩ 제어 반복문의 활용 3
//▶ 구구단 출력하기

/*****************************************************
1. 2단만 출력
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main(){
        int i;

        for(i=1; i<=9; i++){
             printf("2*%d=%d\n", i, 2*i);
    }
    getch();
}
*/
/*****************************************************
2. 3단식 출력하기
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main()
{
    int k, i, p;

    for(k=1; k<=7; k+=3)
    {
                for(i=1; i<=9; i=i+1)
        {
                        printf("\t%d*%d=%d", k, i, k*i);
                        printf("\t%d*%d=%d", k+1, i, (k+1)*i);
                        printf("\t%d*%d=%d\n", k+2, i, (k+2)*i);
                }
                printf("\n---------------------------------------------------------\n");
        p=getchar();
        }
    getch();
}
*/
/*****************************************************
3. 배열을 이용하여 구구단 출력하기
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main()
{
        int k, i, a[9][9], p;


        for(k=0; k<=8; k=k+3)
    {
        for(i=0; i<=8; i=i+1)
        {
                        a[k][i] = (k+1)*(i+1);
                        a[k+1][i] = (k+2)*(i+1);
                        a[k+2][i] = (k+3)*(i+1);
                }
        }

    for(k=0; k<=8; k=k+3)
    {
                for(i=0; i<=8; i=i+1)
        {
                        printf("\t%d*%d=%d", k+1, i+1, a[k][i]);
                        printf("\t%d*%d=%d", k+2, i+1, a[k+1][i]);
                        printf("\t%d*%d=%d\n", k+3, i+1, a[k+2][i]);
                }
                printf("\n---------------------------------------------------------\n");
        p=getchar();
        }
    getch();
}
*/

/*****************************************************
▷ 1부터 100까지 짝수의 합 구하기 (답 : 2550)
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main()
{
    int i;
    int sum=0;
    for(i=1; i<=100; i++)
    {
        if(i%2==0)
            sum+=i;
    }
    printf("sum : %d",sum);
    getch();
}
*/
/*****************************************************
▷ 1부터 100까지 홀수의 합 구하기 (답 : 2500)
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main()
{
    int i;
    int sum=0;
    for(i=1; i<=100; i++)
    {
        if(i%2!=0)
            sum+=i;
    }
    printf("sum : %d",sum);
    getch();
}
*/

/*****************************************************
4. 아래와 같이 출력되도록 프로그램을 작성하세요.

♡♡♡♡♡
♡♡♡♡
♡♡♡
♡♡

*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main()
{
    int i,j;

    for(i=5; i>=1; i--)
    {
        for(j=1; j<=i; j++)
        {
            printf("♡");           
        }
        printf("\n");
    }   
    getch();
}
*/

/*****************************************************
5. 아래와 같이 출력되도록 프로그램을 작성하세요.
   - ♡ 하나는 공백문자 2개에 해당합니다.

        ♡
      ♡♡
    ♡♡♡
  ♡♡♡♡
♡♡♡♡♡
*****************************************************/
/*
#include <stdio.h>
#include <conio.h>

void main()
{
    int i,j;

    for(i=5; i>=1; i--)
    {
        for(j=1; j<=5; j++)
        {
            if(i>j)
            {
                printf("  ");
            }
            else
            {
                printf("♡");
            }           
        }
        printf("\n");
    }   
    getch();
}
*/

Posted by 김윤석

카테고리

놀며즐기고 공부하기 (685)
 IT 정보 (653)
 재테크 (0)
 엔터테이먼트 (11)
 인터넷마케팅 (0)
 사이트 추천 (1)
사이드바 열기