糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 给定五组数字 判定生日日期在哪一天(算命)

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

时间:2022-06-09 16:03:20

相关推荐

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

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

五组数据

第一组
 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;}

如果觉得《给定五组数字 判定生日日期在哪一天(算命)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。