int day() {
int ch1[4][4] = {
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31
};
int ch2[4][4] = {
2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31
};
int ch3[4][4] = {
4, 5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23, 28, 29, 30, 31
};
int ch4[4][4] = {
8, 9, 10, 11, 12, 13, 14, 15, 24, 25, 26, 27, 28, 29, 30, 31
};
int ch5[4][4] = {
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
};
int a;
for(int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%d\t", ch1[i][j]);
}
printf("\n");
}
do
{
printf("这些数字中包含您的出生日吗?包含请输入1,不包含请输入0:\t");
scanf("%d", &a);
if (a != 0 && a != 1)printf("错误。\n");
}while(a != 1 && a != 0);
int b;
for(int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%d\t", ch2[i][j]);
}
printf("\n");
}
do
{
printf("这些数字中包含您的出生日吗?包含请输入1,不包含请输入0:\t");
scanf("%d", &b);
if (b != 0 && b != 1)printf("错误。\n");
}while(b != 1 && b != 0);
int c;
for(int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%d\t", ch3[i][j]);
}
printf("\n");
}
do
{
printf("这些数字中包含您的出生日吗?包含请输入1,不包含请输入0:\t");
scanf("%d", &c);
if (c != 0 && c != 1)printf("错误。\n");
}while(c != 1 && c != 0);
int d;
for(int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%d\t", ch4[i][j]);
}
printf("\n");
}
do
{
printf("这些数字中包含您的出生日吗?包含请输入1,不包含请输入0:\t");
scanf("%d", &d);
if (d != 0 && d != 1)printf("错误。\n");
}while(d != 1 && d != 0);
int e;
for(int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%d\t", ch5[i][j]);
}
printf("\n");
}
do
{
printf("这些数字中包含您的出生日吗?包含请输入1,不包含请输入0:\t");
scanf("%d", &e);
if (e != 0 && e != 1)printf("错误。\n");
}while(e != 1 && e != 0);
int h;
h = a*pow(2, 0)+b*pow(2, 1)+c*pow(2, 2)+d*pow(2, 3)+e*pow(2, 4);
return h;
}
int month() {
int mo1[6] = {
1, 3, 5, 7, 9, 11
}, mo2[6] = {
2, 3, 6, 7, 10, 11
}, mo3[5] = {
4, 5, 6, 7, 12
}, mo4[5] = {
8, 9, 10, 11, 12
};
int q;
for(int i = 0; i < 6; i++) {
printf("%d\t", mo1[i]);
}
do
{
printf("\n这些数字中包含您的出生月吗?包含请输入1,不包含请输入0:\t");
scanf("%d", &q);
if (q != 0 && q != 1)printf("错误。\n");
}while(q != 1 && q != 0);
int w;
for(int i = 0; i < 6; i++) {
printf("%d\t", mo2[i]);
}
do
{
printf("\n这些数字中包含您的出生月吗?包含请输入1,不包含请输入0:\t");
scanf("%d", &w);
if (w != 0 && w != 1)printf("错误。\n");
}while(w != 1 && w != 0);
int e;
for(int i = 0; i < 5; i++) {
printf("%d\t", mo3[i]);
}
do
{
printf("\n这些数字中包含您的出生月吗?包含请输入1,不包含请输入0:\t");
scanf("%d", &e);
if (e != 0 && e != 1)printf("错误。\n");
}while(e != 1 && e != 0);
int r;
for(int i = 0; i < 5; i++) {
printf("%d\t", mo4[i]);
}
do
{
printf("\n这些数字中包含您的出生月吗?包含请输入1,不包含请输入0:\t");
scanf("%d", &r);
if (r != 0 && r != 1)printf("错误。\n");
}while(r != 1 && r != 0);
int m;
m = q*pow(2, 0)+w*pow(2, 1)+e*pow(2, 2)+r*pow(2, 3);
return m;
}
int main() {
int x;
do
{
printf("您的生日为%d月%d日。\n", month(), day());
printf("是否继续?输入1继续或输入0退出。");
do
{
scanf("%d", &x);
if(x != 1 && x != 0)printf("\n错误!输入0退出或1继续。\n");
}while(x != 1 && x != 0);
printf("\n");
}while(x == 1);
return 0;
}