C/C#双色球
Posted Andy 胡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C/C#双色球相关的知识,希望对你有一定的参考价值。
6个红色球号码和1个蓝色球
红色球号码从1—33中选择
蓝色球号码从1—16中选择
C:(粗体:随机数,红色:库排序)
#include <stdio.h> #include <stdlib.h> #include <time.h> int blue[6];void printArr(int arr[],int len ); bool checkNum(int arr[],int len, int now); int compare(const void *value1, const void *value2); main() { srand(time(0)); for(int i = 0; i< 6; i++) { int n = rand()%33+1; if (!checkNum(blue, 6, n)) { i--; continue; } blue[i] = n; } printf("取到的蓝球:"); printArr(blue, 6); printf("排序后蓝球:"); // 函数库自带的快速排序函数 // 对于有多个重复值的数组来说,效率较低不稳定 qsort(blue, 6, sizeof(int), compare); printArr(blue, 6); printf("红球:%d", rand()%16+1); } // qsort 要结合 compare使用 int compare(const void *value1, const void *value2) { // 升序 return *(int*)value1 - *(int*)value2; } void printArr(int arr[],int len ) { for(int i = 0 ; i<len; i++) { printf("%d ", arr[i]); } printf("\\n"); } bool checkNum(int arr[],int len, int now) { for(int i = 0 ; i<len; i++) { if (arr[i] == now) { return false; } } return true; }
C#
using System; namespace ConsoleApplication2 { class Program { static int[] 红球 = new int[6]; static void Main(string[] args) { Random r = new Random(); for (int i = 0; i < 6; i++) { int n = r.Next(33) + 1; if (重复Check(n)) { i--; continue; } 红球[i] = n; } Array.Sort(红球); foreach (int n in 红球) { Console.WriteLine(n); } // 蓝球 Console.WriteLine("蓝球:" + (r.Next(16) + 1)); Console.ReadKey(); } static bool 重复Check(int now) { foreach (int n in 红球) { if (now == n) { return true; } } return false; } } }
以上是关于C/C#双色球的主要内容,如果未能解决你的问题,请参考以下文章