명품C언어프로그래밍 12.8 해답명품C언어프로그래밍 12.8 해답

Posted at 2012.12.15 15:36 | Posted in IT/C

명품C언어프로그래밍 챕터12의 연습문제8번입니다.



명품C언어프로그래밍 12.8 문제



임의의 대문자

IIFUBTAIDHAJXHJHGOTU

QRITERPGGAPUTJTKJYZY

SSCPDLNSTZLWHEAGLGLJ

BJAYEIPZZRLXLPRHPXNJ

TSKAHPPHOEZFAMTHCVFC


문자와 빈도수

A :  7 B :  2 C :  3

D :  2 E :  4 F :  3

G :  5 H :  8 I :  5

J :  7 K :  2 L :  6

M :  1 N :  2 O :  2

P :  8 Q :  1 R :  4

S :  4 T :  8 U :  3

V :  1 W :  1 X :  3

Y :  3 Z :  5

계속하려면 아무 키나 누르십시오 . . .


명품C언어프로그래밍 12.8 해답


   1:  #include <stdafx.h>
   2:  #include <stdlib.h>
   3:  #include <time.h>
   4:   
   5:  int main(void)
   6:  {
   7:      printf("임의의 대문자\n");
   8:      int i, randomNumber;
   9:      char alpha[26]={0};
  10:      srand(time(NULL));
  11:      for(i=1;i<=100;i++)
  12:      {
  13:          randomNumber=rand()%26;
  14:          printf("%c", randomNumber+65);
  15:          if (i%20==0)
  16:              printf("\n");
  17:          alpha[randomNumber]+=1;
  18:      }
  19:      printf("\n문자와 빈도수\n");
  20:      for(i=0;i<26;i++)
  21:      {
  22:          printf("%c : %2d ", i+65, alpha[i]);
  23:          if ((i+1)%3==0)
  24:              printf("\n");
  25:      }
  26:      printf("\n");
  27:      return 0;
  28:  }



srand()를 사용하여 현재시간을 시드로 rand()의 값이 무작위로 나오게 합니다.


0은 A, 25는 Z로 아스키표준값을 맞춰서 +65를 더해줍니다.


0~25 사이의 나온 숫자는 alpha[]배열에 맞춰서 +1씩 카운팅됩니다.


그리고 밑에서 출력이 되지요.


책정보보기




Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기