/*
从键盘中输入一个十六进制的字符(0-9A-Fa-f),输出其相应的数值
7.5
*/
#include<stdio.h>
int main(int argc,char *argv[])
{
char x;
scanf("%c",&x);
if(x<='9'&&x>='0') //判断是否为0-9
{
printf("%c\n",x);
}
else if(x=='a'||x=='A') //判断A-F a-f 的情况
{
printf("10\n");
}
else if(x=='b'||x=='B')
{
printf("11\n");
}
else if(x=='c'||x=='C')
{
printf("12\n");
}
else if(x=='d'||x=='D')
{
printf("13\n");
}
else if(x=='e'||x=='E')
{
printf("14\n");
}
else if(x=='f'||x=='F')
{
printf("15\n");
}
else
{
printf("输入不规范!\n");
}
}
/*
求你已经活了多少天。
7.6
*/
#include<stdio.h>
int main(int argc,char *argv[])
{
int y,m,d,a,b;
int x=1;
printf("输入你的生日(如1999 7 5):");
scanf("%d %d %d",&y,&m,&d);
if(y<2020) // 如果不是今年出生的情况
{
y++;
while(y!=2020) //判断是否为闰年,进行累加
{
if((y%4==0)&&(y%100)||(y%400==0))
{
x=x+366;
}
else
{
x=x+365;
}
y++;
}
if((y%4==0)&&(y%100)||(y%400==0)) //是闰年的话,累加其每个月的天数
{
switch(m)
{ case 1:
a=31-d+31*6+30*4+29;
break;
case 3:
a=31-d+31*5+30*4;
break;
case 5:
a=31-d+31*4+30*3;
break;
case 7:
a=31-d+31*3+30*2;
break;
case 8:
a=31-d+31*2+30*1;
break;
case 10:
a=31-d+31*1+30*1;
break;
case 12:
a=31-d;
break;
case 2:
a=29-d+31*6+30*4;
break;
case 4:
a=30-d+31*5+30*3;
break;
case 6:
a=30-d+31*4+30*2;
break;
case 9:
a=30-d+31*2+30*1;
break;
case 11:
a=30-d+31;
break;
}
x=x+a+188;//2020.7.6已经过了188天
printf("你已经出生%d天\n",x);
}
else
{
switch(m)
{ case 1:
a=31-d+31*6+30*4+28;
break;
case 3:
a=31-d+31*5+30*4;
break;
case 5:
a=31-d+31*4+30*3;
break;
case 7:
a=31-d+31*3+30*2;
break;
case 8:
a=31-d+31*2+30*1;
break;
case 10:
a=31-d+31*1+30*1;
break;
case 12:
a=31-d;
break;
case 2:
a=28-d+31*6+30*4;
break;
case 4:
a=30-d+31*5+30*3;
break;
case 6:
a=30-d+31*4+30*2;
break;
case 9:
a=30-d+31*2+30*1;
break;
case 11:
a=30-d+31;
break;
}
x=x+a+188;
printf("你已经出生%d天\n",x);
}
}
else if(y==2020&&m<=7) //是今年出生的情况
{
x=1;
switch(m)
{
case 7:
if(d<=6)
{
x=x+6-d;
printf("%d天\n",x);
}
else
printf("你还没出生!\n");break;
case 6:
x=6+x+30-d;
printf("你已经出生%d天\n",x);
break;
case 5:
x=6+x+61-d;
printf("你已经出生%d天\n",x);
break;
case 4:
x=6+x+91-d;
printf("你已经出生%d天\n",x);
break;
case 3:
x=6+x+122-d;
printf("你已经出生%d天\n",x);
break;
case 2:
x=6+x+151-d;
printf("你已经出生%d天\n",x);
break;
case 1:
x=6+x+181-d;
printf("你已经出生%d天\n",x);
break;
default:
printf("输入不规范!");
}
}
else
{
printf("你还没出生!\n");
}
}