凡是数字前带0的都去掉就OK
输入的格式应该为
1984/02/03
VC60测试正常
include<stdioh>
void main()
{
int y,m,d;
printf("请输入生日[YYYY/MM/DD]:");
scanf("%d/%d/%d",&y,&m,&d);
if (m>=3 && y>=22 && m<=4 && d<=20)
printf("该生日为牧羊座\n");
else if (m>=04 && y>=21 && m<=5 && d<=21)
printf("该生日为金牛座\n");
else if (m>=05 && y>=22 && m<=6 && d<=22)
printf("该生日为双子座\n");
else if (m>=06 && y>=23 && m<=7 && d<=23)
printf("该生日为巨蟹座\n");
else if (m>=07 && y>=24 && m<=8 && d<=23)
printf("该生日为狮子座\n");
else if (m>=8 && y>=24 && m<=9 && d<=23)
printf("该生日为处女座\n");
else if (m>=9 && y>=24 && m<=10 && d<=23)
printf("该生日为天枰座\n");
else if (m>=10 && y>=24 && m<=11 && d<=22)
printf("该生日为天蝎座\n");
else if (m>=11 && y>=23 && m<=12 && d<=22)
printf("该生日为射手座\n");
else if (m>=12 && y>=23 && m<=01 && d<=19)
printf("该生日为摩羯座\n");
else if (m>=1 && y>=20 && m<=02 && d<=19)
printf("该生日为水瓶座\n");
else if (m>=2 && y>=20 && m<=03 && d<=21)
printf("该生日为双鱼座\n");
}
if语句一片混乱,修改了一下,好了
#include <stdioh>
int main()
{
int a,b,c,x,y,z;
int s[12]={31,28,31,30,31,30,31,31,30,31,30,31};
printf("输入学生生日(格式:yyyy-dd-nn):"); //输出年龄,生日应该为出生日期
scanf("%d-%d-%d",&a,&b,&c);
printf("输入当前日期(格式:yyyy-dd-nn):");
scanf("%d-%d-%d",&x,&y,&z);
if((x<a)||(a==x&&y<b)||(a==x&&b==y&&z<c)||(y<1&&y>12&&y>12&&y<1)||(z<1&&z>31&&c<1&&c>31))/b或y不小于1或不大于12,c或z不小于1或不大于31/
printf("输入日期错误!!!\n");
else
printf("%d岁%d个月%d天\n",y>b(x-a):(x-a-1),c>z(y>b(y-b-1):(12+y-b-1)):(y>b(y-b):(12+y-b)),z>c(z-c):((y-1)==2((x%4)==(x%400)(s[y-1]+1+z-c):(s[y-1]+z-c)):(s[y-1]+z-c)));
}
希望你能看懂
数据库中查本月过生日的同学可用month函数。
工具:sqlserver 2008 R2
步骤:
1、有student表如下,其中sno为5的数据生日是在本月:
2、使用语句如下:
select from student where month(birthday)=month(getdate())3、查询结果:
oracle数据库的date数据类型本身是包括年月日时分秒,你只输入了年月,日时分秒就自动置1了。再显示的时候,自然就是1日了。 这种情况下,数据库仍然保留date数据类型,日期输入年月日。显示的时候用to char函数,格式是只显示年月即可。
以上就是关于用户按照YYYY/MM/DD的格式输入自己的出生日期,计算并输出用户的星座全部的内容,包括:用户按照YYYY/MM/DD的格式输入自己的出生日期,计算并输出用户的星座、编写程序:输入一个学生的生日(年;y0、月:m0、日:d0);并输入当前的日期(年:y1、月:m1、日:d1)、数据库怎么查出本月过生日的同学等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)