'计算年龄,几岁几个月几天,till:截止日期,birth生日
Dim year As Integer = 0 '年
year = till.Year - birth.Year
If year <0 Then
Return ""
End If
If year = 0 Then
''
End If
If year >0 Then
If till.Month <birth.Month Then
'还差一个月才到一年
year = year - 1
ElseIf till.Month >birth.Month Then
'超过一汪拆个月
ElseIf till.Month = birth.Month Then
'同一个月
If till.Day <birth.Day Then
'从天数看还没到一个月,不 *** 作
year = year - 1
ElseIf till.Day >= birth.Day Then
'到了天数,或超了天数
End If
End If
End If
Dim month As Integer = till.Month - birth.Month
If month <0 Then
month = 12 + month
If till.Day <birth.Day Then
'从天数看还没到一个月,不 *** 作
month = month - 1
ElseIf till.Day >= birth.Day Then
'到了天数,或困码枣超了天数,不 *** 作
End If
ElseIf month = 0 Then
''同一个月
If till.Day <birth.Day Then
'从天数看,已经超过了今天的日期,而且肯定不是同一年
month = 11
ElseIf till.Day >= birth.Day Then
'到了天数,或超了天数,同一个月,还没过生日
End If
ElseIf month >0 Then
If till.Day <birth.Day Then
'从天数看还没到一个月,不 *** 作
month = month - 1
ElseIf till.Day >= birth.Day Then
'到了天数,或超了天模敬数,不 *** 作
End If
End If
Dim day As Integer = till.Day - birth.Day
If day >= 0 Then
'ok
ElseIf day <0 Then
day = Date.DaysInMonth(birth.Year, birth.Month) - birth.Day + till.Day
End If
Return year &"岁" &month &"月" &day &"天"
End Function
#include<stdio.h>
void
main()
{
int
y1,m1,d1,y0,m0,d0,y,m,d
printf("请输入当前日期\n")
printf("y1=")
scanf("%d",&y1)
printf("m1=")
scanf("山码%d",&m1)
printf("d1=")
scanf("%d",&d1)
printf("请输入学生的生日\n")
printf("y0=")
scanf("%d",&y0)
printf("m0=")
scanf("%d",&m0)
printf("d0=")
scanf("%d",&d0)
y=y1-y0
m=m1-m0
d=d1-d0
printf("该学旦唯握模庆生的年龄为%d
%d
%d",y,m,d)
}
已经成功运行
祝你学业有成
#include <stdio.h>int get_age()
{
unsigned y1,m1,d1,y2,m2,d2,age=0
printf("改迟请分别输入出生日期和当前日期\n")
do{
scanf("%d%d%d%d%d%d"核念李,&y1,&m1,&d1,&y2,&m2,&d2)
if(y2 <y1 || y2 == y1 &&m2 <m1 || y2 == y1 &&m2 == m1 &&d2 <d1 )
printf("输入不合理,请重新输入\高岩n")
else
break
}while(1)
if(m2 >m1 || m2 == m1 &&d2 >d1)
age = y2 - y1
else if(m2 <m1 || m2 == m1 &&d2 <d1)
age = y2 - y1-1
return age
}
//--------------------------------
int main()
{
printf("年龄:%d\n",get_age())
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)