Advertisement
cd62131

five number

Mar 6th, 2014
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.04 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define N_NUMBER 30
  5. int main(void) {
  6.   int number[N_NUMBER], sum, even, i = 0, j, k;
  7.   /* 0以下の数値が入力されるまで標準入力から数値を読み込む */
  8.   do {
  9.     scanf("%d", &number[i++]);
  10.   } while (i - 1 <= N_NUMBER && number[i - 1] > 0);
  11.   --i;
  12.   /* 乱数列を初期化する */
  13.   srand((unsigned) time(NULL));
  14.   for (k = 0; k < 5; k++) {
  15.     do {
  16.       /* 数値をシャッフルする */
  17.       for (j = i; j >= 1; j--) {
  18.         int tmp, x = rand() % j;
  19.         tmp = number[x]; number[x] = number[j]; number[j] = tmp;
  20.       }
  21.       /* シャッフルした数値の先頭五つを候補として性質を検証する */
  22.       sum = even = 0;
  23.       for (j = 0; j < 5; j++) {
  24.         sum += number[j];
  25.         if ((number[j] % 2) == 0) ++even;
  26.       }
  27.     } while (sum < 70 || sum > 90 || even < 2 || even > 3);
  28.     /* 選択された数値を出力する */
  29.     for (j = 0; j < 5; j++) printf("%d ", number[j]);
  30.     printf("\n\n");
  31.   }
  32.   return 0;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement