这是一个C语言课后习题

编写程序,输入一位学生的生日(年:y0、月:m0、日:d0);并输入当前的日期(年:y1、月:m1、日:d1);输出该生的实足年龄。... 编写程序,输入一位学生的生日(年:y0、月:m0、日:d0);并输入当前的日期(年:y1、月:m1、日:d1);输出该生的实足年龄。 展开
 我来答
wanfg88
2011-04-26 · TA获得超过1093个赞
知道小有建树答主
回答量:401
采纳率:50%
帮助的人:485万
展开全部
LZ你好,我写的是实足年龄呵呵,比如说2000.6.6日生,在2001.5.6周岁是0
#include <stdio.h>

struct date
{
int year;
int month;
int day;
};

struct stud
{
char name[20];
struct date birthday;
};

void main()
{
int old;
struct stud s[2];
printf("请输入一个学生的名字和生日:\n");
scanf("%s %d%d%d",s[1].name,&s[1].birthday.year,&s[1].birthday.month,&s[1].birthday.day);

printf("请输入当前的日期:\n\n");
scanf("%d%d%d",&s[2].birthday.year,&s[2].birthday.month,&s[2].birthday.day);

printf("该学生信息如下:\n");
printf("%s %d-%d-%d\n\n",s[1].name,s[1].birthday.year,s[1].birthday.month,s[1].birthday.day);
old=s[2].birthday.year-s[1].birthday.year;
if(s[2].birthday.month<s[1].birthday.month)
printf("该学生年龄=%d\n",--old);
else if(s[2].birthday.day<s[1].birthday.day)
printf("该学生实足年龄=%d",--old);
else
printf("该学生实足年龄=%d",old);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
海璇简4818
2011-04-26
知道答主
回答量:34
采纳率:0%
帮助的人:0
展开全部
我写了个,输入日期时用年-月-日格式。如果现在日期已经超过生日了那就是现在年份减去出生年,如果没到生日就是现在年份减去出生年后再减一。
假定输入的总是对的,所以没有对输入日期有效性进行检查。
#include<stdio.h>
int main(void)
{
int y0,m0,d0,y1,m1,d1;
puts("Input your birthday(yyyy-mm-dd):");
scanf("%d-%d-%d",&y0,&m0,&d0);
puts("Input the current date(yyyy-mm-dd):");
scanf("%d-%d-%d",&y1,&m1,&d1);
printf("Your age:%d\n",y1-y0-(m1<m0||m1==m0&&d1<d0));
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
20092311101
2011-04-26 · TA获得超过112个赞
知道答主
回答量:170
采纳率:0%
帮助的人:155万
展开全部
#include<stdio.h>
void main()
{
int y0,m0,d0;
printf("请输入学生的出生日期(年月日):");
scanf("%d%d%d",&y0,&m0,&d0);
printf("请输入当前日期(年月日):");

int y1,m1,d1;
scanf("%d%d%d",&y1,&m1,&d1);
printf("\n该学生的年龄为%d岁\n",y1-y0);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-26
展开全部
不知道对否
#include<stdio.h>
main()
{
int y0,y1,m0,m1,d0,d1,age;
while(scanf("%d %d %d",&y0,&m0,&d0)!=EOF)
{
scanf("%d %d %d",&y1,&m1,&d1);
age=y1-y0;
if(m1<m0||(m1==m0&&d1<d0))
age--;
printf("该生周岁为:%d岁\n",age);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zgbdsg
2011-04-26
知道答主
回答量:16
采纳率:0%
帮助的人:8.2万
展开全部
#include<stdio.h>

void main(void)
{
int year1,year2,month1,month2,date1,date2;
printf("please input your birthday like 1990 10 1:");
scanf("%d %d %d",year1,month1,date1);
printf("please input current_time like 1990 10 1:");
scanf("%d %d %d",year2,month2,date2);
if(month2>month1)
{
printf("your age is %d",year2-year1);
}
else if(month2=month1&&date2>date1)
{
printf("your age is %d",year2-year1);
}
else
printf("your age is %d",year2-year1-1);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式