当前位置:首页 » 编程语言 » 用c语言编写自己的出生年月
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

用c语言编写自己的出生年月

发布时间: 2023-06-28 20:28:41

c语言 输入一位学生的生日(年 月 日),并输入当前的日期(年 月 日),输出该生的实际年龄。

#include<stdio.h>
main()
{
int y0,m0,d0,y1,m1,d1,y,m,d;
while(1)
{
printf("请输入学生的生日");scanf("%d %d %d",&y0,&m0,&d0);
printf("请输入当前的日期");scanf("%d %d %d",&y1,&m1,&d1);
y=y1-y0;
m=m1-m0;
d=d1-d0;
//printf("该学生的年龄为%d岁%d月%d天",y,m,d);
if(y>=0)
{
if(m>=0)
{
if(d>=0)printf("1该学生的年龄为%d岁",y);//y>=0,m>=0,d>=0输出年龄
else
{
m=m-1;//如果d<0,m减1,再判断m是否大于等于0
if(m>=0)printf("2该学生的年龄为%d岁",y);//y>=0,m>=0,d<0输出年龄
else
{
y=y-1;//如果m<0,y减1,再判断y是否大于等于0
if(y>=0)printf("3该学生的年龄为%d岁",y);//y>=0,m<0,d<0输出年龄
else
{
printf("4输入有误");//y<0,m<0,d<0
}
}
}
}
else //那么在y>=0,而m<0的情况下
{
y=y-1;
if(y>=0)printf("6该学生的年龄为%d岁",y);
else
{
printf("7输入有误");
}
}
}
else printf("5输入有误");//最先判断年份,如果y<0,就错了,因为当前日期不可能小于学生的生日
getchar();
getchar();
}
}

Ⅱ C语言 年月日

定义个结构数组,分别保存年月日
两个变量,一个保存生日一个保存当前日期
然后两个变量相减

Ⅲ c语言输出年月日

下面是这段代码,配合注释体会一下吧

#include <stdio.h>

void MonthDay(int year,int yearDay,int *pMonth,int *pDay);

int main()
{
int year,yearDay,month,day;
scanf("%d%d",&year,&yearDay);//输入年份和天数
MonthDay(year,yearDay,&month,&day);
printf("%d-%d-%d",year,month,day);
return 0;
}

void MonthDay(int year,int yearDay,int *pMonth,int *pDay)
{
int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};//这个数组保存每月的天数
if(year%4==0&&year%100!=0||year%400==0)//判断是否为闰年
days[1]=29;//闰年的二月有29天
*pMonth=1;//从一月开始看
while(yearDay>days[*pMonth-1])//如果哪一天超出这个月
{
yearDay-=days[*pMonth-1];//求出超出此月的天数
(*pMonth)++;//继续考虑下一月
}
*pDay=yearDay;
}

Ⅳ C语言问题 请输入自己的身份证号,输出出生年月日

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmain()
{
charid[]="46198704030811";
printf("请输入您的身份证号(18位数字): ");
scanf("%s",id);
printf("您出生在%c%c%c%c年%c%c月%c%c日 ",id[6],id[7],id[8],id[9],id[10],id[11],id[12],id[13]);
system("pause");
return0;
}

Ⅳ C语言:输入身份证号,输出出生年月日

C语言,数字不能和字符串运算。

如果仅为了这样输出,可以全部用字符数组变量。

char year[5],month[3],day[3];

...

charyears[5],month[3],day[3];
...
while(i>=6&&i<10)
{
years[i-6]=str[i];
i++;
}
while(i>=10&&i<12)
{
month[i-10]=str[i];
i++;
}
while(i>=12&&i<14)
{
day[i-12]=str[i];
i++;
}
printf("你是%s年%s月%s日出生的人 ",years,month,day);

这是没有使用字符串操作函数也没有使用指针的方法。