技术开发 频道

C语言优化双色球自选程序的小技巧


【IT168技术文档】

#include<math.h> #include<stdlib.h> #include<time.h> main() { int i ,j ,k; int num[6]; srand((unsigned)time(NULL)); for(i = 0;i < 6;i++) { num[i] = random(33)+1; for(j = 0;j < i;j++) { if(num[i] == num[j]) { i--; j = 7; } } } num[5] = random(16)+1; for(i = 0;i < 6;i++) printf("%2d ",num[i]); printf("+%2d ",num[5]); getch(); }
  这种写法的好处是好想

  但是要承认的是这种写法效率很低(而且这个程序还是没有加号码大小的排序)

  要只输出少量号码组的时候可能并没有表现出它的低效问题

  但是在产生并输出大量这些号码的时候就会表现出其低效性
  为此我想到了一个更好的方法:
#include<math.h> #include<stdlib.h> #include<time.h> main() { int i ,j ,k; int num[6]; srand((unsigned)time(NULL)); num[0] = random(28)+1; for(i = 1;i < 6;i++) { num[i] = num[i-1]+random(28-num[i-1]+i)+1; } num[5] = random(16)+1; for(i = 0;i < 6;i++) printf("%2d ",num[i]); printf("%2d ",num[i]); getch(); }
0
相关文章