fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. // 检查生成的红球号码是否重复
  6. int isRedBallDuplicate(int num, int *arr, int size) {
  7. for (int i = 0; i < size; i++) {
  8. if (arr[i] == num) {
  9. return 1;
  10. }
  11. }
  12. return 0;
  13. }
  14.  
  15. int main() {
  16. int redBall[6];
  17. int blueBall;
  18. srand((unsigned int)time(NULL));
  19.  
  20. // 生成6个不重复的红球号码
  21. for (int i = 0; i < 6; ) {
  22. int num = rand() % 33 + 1;
  23. if (!isRedBallDuplicate(num, redBall, i)) {
  24. redBall[i++] = num;
  25. }
  26. }
  27.  
  28. // 对红球号码进行排序(从小到大)
  29. for (int i = 0; i < 5; i++) {
  30. for (int j = 0; j < 5 - i; j++) {
  31. if (redBall[j] > redBall[j + 1]) {
  32. int temp = redBall[j];
  33. redBall[j] = redBall[j + 1];
  34. redBall[j + 1] = temp;
  35. }
  36. }
  37. }
  38.  
  39. // 生成蓝球号码
  40. blueBall = rand() % 16 + 1;
  41.  
  42. // 输出红球号码
  43. printf("红球号码: ");
  44. for (int i = 0; i < 6; i++) {
  45. printf("%02d ", redBall[i]);
  46. }
  47. // 输出蓝球号码
  48. printf("蓝球号码: %02d\n", blueBall);
  49.  
  50. return 0;
  51. }
Success #stdin #stdout 0s 5304KB
stdin
Standard input is empty
stdout
红球号码: 14 15 17 20 22 25 蓝球号码: 07