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


1. 100~999 사이에 7의 배수의 갯수와 합을 구하는 프로그램을 작성하세요. 답 : 128, 70336
 
#include <stdio.h>
#include <conio.h>

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

    cnt=sum=0L;

    for(----- ? -----){
        nmg = ----- ? -----;
        if(nmg)
            continue;
  else {
         printf("현재 발견된 7의 배수: %d\n", i);
            sum += i;
            cnt++;
        }
    }
    printf("\n 7의 배수의 갯수: %5ld\n  합 : %5ld\n",cnt,sum);
    getch();


▷ 7의 배수를 한줄에 15개씩 출력하는 프로그램을 작성하세요.


2. 100~999 사이에 7의 배수가 아닌 수들의 갯수와 합을 구하는 프로그램을 작성하세요.

답 : 772, 424214


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);

    ----- ? -----

    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]);
    }

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

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


5. 하나의 수를 입력받아 양수, 음수 인지 출력하는 프로그램 작성하세요.


6. 하나의 수를 입력받아 부호를 무조건 양수로 바꾸어 출력하는 프로그램을 작성하세요.


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);
   --------?--------;
   printf("점수의 평균은 %d입니다.\n", ave);

   switch(--?--) {
     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. 아래 문제의 ---?--- 칸을 채우세요. 대문자로 변경하는 로직이 들어가야 합니다.

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

 void main() {
   char c;

   do {
     printf("메뉴 코드를 입력하세요.(F, E, H, X, 기타) : ");
     c=getch();
     putchar(c);
     if(c>=97) c -= --?--;

     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;

   printf("=========\n");
   for(a=1; a<=3; a++) {
      for(b=1; b<=3; b++) {
 if(a--?--b){
    --?--
           }

 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


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

 3
 6   9
12  15  18
21  24  27  30
33  36  39  42  45


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, cnt;
           cnt=0;
 for(----- ? -----){
  for(j=1; j<=5; j++){

   if(i>j){
    printf("     ");
   }else{
                                  cnt=cnt+1;
    printf("%5d", cnt);
                                }
  }
           printf("\n");
 }
    getch();
}


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

                 15
            14  13
       12  11  10
     9   8   7   6
5   4   3   2   1



▩ 제어 반복문의 활용 3


▶ 구구단 출력하기

1. 2단만 출력

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

void main(){
 int i;

 for(i=1; i<=9; i++){
      printf("2*%d=%d\n", ----- ? -----);
    }
    getch();
}


2. 3단식 출력하기

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

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

    for(----- ? -----){
  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, ----- ? -----);
  }
  printf("\n---------------------------------------------------------\n");
                     p=getchar();

 }
    getch();
}


3. 배열을 이용하여 구구단 출력하기

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

void main(){
 int k, i, ----- ? -----, 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] = ----- ? -----;
  }
 }

    for(----- ? -----){
  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)


▷ 1부터 100까지 홀수의 합 구하기 (답 : 2500)


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

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


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

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

신고
Posted by 나비 나비:D

BLOG main image
by 나비:D

공지사항

카테고리

분류 전체보기 (278)
Programming? (0)
----------------------------- (0)
나비의삽질 (5)
Application (177)
SQL (51)
Web (27)
etc. (14)
Omnia (0)
---------------------------.. (0)

글 보관함

달력

«   2017/10   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
Total : 882,507
Today : 3 Yesterday : 218