본문 바로가기
IT(기존 자료 보관용)

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

by 알 수 없는 사용자 2012. 12. 15.
728x90
반응형

명품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씩 카운팅됩니다.


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





728x90
반응형

댓글