橙子 发表于 2009-6-7 09:09:37

橙子学C语言(7)

void caipiao() {
int i = 0, j, t;
int a;
int flag;
printf("您随机的彩票是:");
srand((unsigned)time(NULL));
while(i < 7) {
a = (rand() % 33) + 1;
for(j = 0; j < i; j++) {
   if(a == a) {
    i--;
    break;
   }
}
i++;
}
for(j = 1; j <= 7; j++) {
for(i = 0; i < 7 - j; i++) {
   if(a > a) {
    t = a;
    a = a;
    a = t;
   }
}
}
for(i = 0; i < 7; i++) {
printf("%d ", a);
}
}
void main() {
int i = 0, j, t;
int a;
int flag;
printf("您随机的彩票是:");
srand((unsigned)time(NULL));
while(i < 7) {
a = (rand() % 33) + 1;
for(j = 0; j < i; j++) {
   if(a == a) {
    i--;
    break;
   }
}
i++;
}
for(j = 1; j <= 7; j++) {
for(i = 0; i < 7 - j; i++) {
   if(a > a) {
    t = a;
    a = a;
    a = t;
   }
}
}
for(i = 0; i < 7; i++) {
printf("%d ", a);
}
printf("\n您对这猪彩票选好满意么? 1-满意。0-不满意(重新选择)\n请选择:");
scanf("%d", &flag);
if(flag == 1) {
printf("您确认的彩票号是:\n");
for(i = 0; i < 7; i++) {
   printf("%d ", a);
}
} else if(flag == 0) {
do {
   caipiao();
   printf("\n您对这猪彩票选好满意么? 1-满意。0-不满意(重新选择)\n请选择:");
   scanf("%d", &flag);
} while(flag == 0);
} else {
do {
printf("输入有误,重新输入, 1-满意。0-不满意(重新选择)\n请选择: ");
scanf("%d", &flag);
} while((flag != 1) && (flag != 0));
}
}

橙子 发表于 2009-6-7 09:30:35

这个是个简单的∵,可以随意选一组1到33的号。
因为随机种子要用时间来随机,所以,太快的输入0,就能连续1到3次得到同样的结果。

田野 发表于 2009-6-7 10:44:19

橙子最近很勤奋 (yct (11):

小小白 发表于 2009-6-10 14:06:51

完全看不懂的说~~~

楚天熙 发表于 2009-6-10 18:15:19

是不是乱码?

风信子 发表于 2009-11-12 16:39:03

好长~有点没有明白~

himself 发表于 2009-12-12 14:00:01


#define UPPER_BOND (33)
#define LOTTERY_NUM (7)
#define MY_TRUE (1)
#define MY_FALSE (0)

unsigned auiLottery = {0};

unsigned short IsNumberInLotteryArray(unsigned uiNumber)
{
    int i = 0;
    for (i = 0; i < LOTTERY_NUM; i++)
    {
      if (uiNumber == auiLottery)
      {
            return MY_TRUE;
      }
    }
    return MY_FALSE;
}

void main()
{
    int num = 0;
    int i = 0;
    printf("\n您随机的彩票是:");
    srand((unsigned)time(NULL));
    for (i = 0; i < LOTTERY_NUM;)
    {
      num = rand()%UPPER_BOND;
      /* 如果生成的数字有重复,则继续重新计算,否则输出 */
      if (MY_TRUE == IsNumberInLotteryArray(num))
      {
            continue;
      }
      else
      {
            printf(" %d", num);
            i++;
      }
}
return;
}
良好的c语言编程风格的一些要点:
1. 用宏来代替单纯无意义的数字
2. 适当的注释
3. 变量都需要初始化

阿董 发表于 2009-12-12 20:35:29

随机号码好得很!
页: [1]
查看完整版本: 橙子学C语言(7)