當前位置:首頁 » 編程語言 » 用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);

這是沒有使用字元串操作函數也沒有使用指針的方法。