2025年给定五组数字,判定生日日期在哪一天(算命)

给定五组数字,判定生日日期在哪一天(算命)给定五组数字 判定生日日期在哪一天 算命 五组数据 第一组 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 第二组 2 3 6 7 10 11 14 15 18 19 22 23 26 27 30 31

大家好,我是讯享网,很高兴认识大家。

给定五组数字,判定生日日期在哪一天(算命)

五组数据

第一组
  1   3   5   7
  9  11 13 15
 17 19 21 23
 25 27 29 31
第二组
  2   3   6   7
 10 11 14 15
 18 19 22 23
 26 27 30 31
第三组
  4   5   6   7
 12 13 14 15
 20 21 22 23
 28 29 30 31
第四组
  8   9  10 11
 12 13 14 15
 24 25 26 27
 28 29 30 31
第五组
 16 17 18 19
 20 21 22 23
 24 25 26 27
 28 29 30 31

玩家依次说明自己的生日是否在这五组数据中,即可判断准确生日。

原理:每组数对应二进制每一位为1的数字(第n组数的二进制的第n位就是1),所以根据该数是否在每一组中即可判断具体是哪个数字。
  在第一组中 +1,没在则加0
  在第一组中 +2,没在则加0
  在第一组中 +4,没在则加0
  在第一组中 +8,没在则加0
  在第一组中 +16,没在则加0
代码实现
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> int main(){ int input; int ret = 0; printf("根据提示说明你的生日(或自己想一个1-31之间的数字)是否在以下五张表中,系统自动生成你的生日(1-31)\n"); printf("输入任意(数字)键进行下一步:\n"); scanf("%d", &input); system("cls"); while (1) { printf(" 1 3 5 7\n"); printf(" 9 11 13 15\n"); printf("17 19 21 23\n"); printf("25 27 29 31\n"); printf("你的生日(或想得那个0-31的数字)在这张表上吗?请输入1表示在,0表示不在\n"); scanf("%d", &input); if (input == 1){ ret += 1; break; } else if (input == 0){ ret += 0; break; } else{ printf("请输入正确信息:\n"); } } system("cls"); while (1) { printf(" 2 3 6 7\n"); printf("10 11 14 15\n"); printf("18 19 22 23\n"); printf("26 27 30 31\n"); printf("你的生日(或想得那个0-31的数字)在这张表上吗?请输入1表示在,0表示不在\n"); scanf("%d", &input); if (input == 1){ ret += 2; break; } else if (input == 0){ ret += 0; break; } else{ printf("请输入正确信息:\n"); } } system("cls"); while (1) { printf(" 4 5 6 7\n"); printf("12 13 14 15\n"); printf("20 21 22 23\n"); printf("28 29 30 31\n"); printf("你的生日(或想得那个0-31的数字)在这张表上吗?请输入1表示在,0表示不在\n"); scanf("%d", &input); if (input == 1){ ret += 4; break; } else if (input == 0){ ret += 0; break; } else{ printf("请输入正确信息:\n"); } } system("cls"); while (1) { printf(" 8 9 10 11\n"); printf("12 13 14 15\n"); printf("24 25 26 27\n"); printf("28 29 30 31\n"); printf("你的生日(或想得那个0-31的数字)在这张表上吗?请输入1表示在,0表示不在\n"); scanf("%d", &input); if (input == 1){ ret += 8; break; } else if (input == 0){ ret += 0; break; } else{ printf("请输入正确信息:\n"); } } system("cls"); while (1) { printf("16 17 18 19\n"); printf("20 21 22 23\n"); printf("24 25 26 27\n"); printf("28 29 30 31\n"); printf("你的生日(或想得那个0-31的数字)在这张表上吗?请输入1表示在,0表示不在\n"); scanf("%d", &input); if (input == 1){ ret += 16; break; } else if (input == 0){ ret += 0; break; } else{ printf("请输入正确信息:\n"); } } system("cls"); printf("你的生日(或数字)是:%d\n", ret); return 0; } 

讯享网
小讯
上一篇 2025-01-18 09:03
下一篇 2025-01-12 10:49

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/42385.html