當前位置:首頁 » 編程語言 » 輸出對應的年月日c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

輸出對應的年月日c語言

發布時間: 2023-04-11 06:40:04

『壹』 c語言中如何把月日年輸出為年月日

這要看原來的程序中,月日年是怎麼組織的?如果分別存放在三個變數中,那麼只要把這三個變數的輸出順序交換一下就可以了。
例如,
int y,m,dm,d;
printf("請輸入月 日 年:");
scanf("%d%d%d",&m,&d,&y);
printf("%d年%d月%d日",y,m,d);

『貳』 C語言年月日輸出問題

首先,你的閏年判斷就有問題。教你個口訣:好談「四年一潤,一百年不潤,四百年再潤」。
其實就可以用if(yr%4==0||yr%100!=0&&yr%400==0){那麼是閏年}
你的檢驗判斷也可以利用mont數組的,首先判斷是不是在閏年,然後判斷輸入days是不友跡碰是大於的mont[mn](州搜如果是閏年要判斷二月+1)。

『叄』 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語言的小白們。

關於日期的輸出呢,看起來是挺簡單的,但當題目要求輸入比如:2019--10--01或者2019--09--10,正在學習c語言的人(包括我)就會卡在這,如何將1~9的「0」一起輸出呢?

其實很簡單,這里巧用「0」,既然題目說到0n(n代表1~9月或者日期),那我們肯定要用到「0」呀,那這個「0」該放哪呢,又是個問題。

但不用慌,想想我們之前的輸出,就應該知道這個「0」應該這樣 printf("%02d",&n);, 而那個2怎麼來的呢,就是代表整個寬度為2(因為月份,日期最大占兩位數),即%04d表示在輸出一個小於4位的數值時,將在前面補0使其總寬度為4位。

因此,在日期時應該: printf("%d %02d %02d",year,month,day);

下面直接放題:

按 yyyy/mm/dd 形式從鍵盤輸入一個日期,按yyyy--mm--dd 形式輸出該日期,其中 yyyy, mm, dd 分別表示年、月、日。

輸入:

2019/10/01

輸出:

2019--10--01

#include<stdio.h>

int main()

{

int year,month,day;

scanf("%d/%d/%d",&year,&month,&day);

printf("%d--%02d--%02d",year,month,day);

}

沒錯這就可以了,這篇呢只是為了鞏固做題的思路,以及給所有的小白看的。當然,還需要大佬們的指導。

『伍』 用C語言定義一個包含數組的Date類型的函數,輸出年,月,日

#includestructdate//定義結構體類型{inty;intm;intd;};voidmain(){datedt;//定義結構體變數inti,count,mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};printf("請輸入日期(年月日):");scanf("%d",&dt.y);scanf("%d",&dt.m);scanf("%d",&dt.d);count=dt.d;//把dt.d計入總天數for(i=0;i2&&(dt.y%4==0&&dt.y%100!=0||dt.y%400==0))count+=1;//如果是閏年,則要把3月份和3月份以後的總天數加1printf("這一日是這一年的第%d天\n",count);}

『陸』 c語言輸入一個天數,輸出對應的年月天

#include<stdio.h>
intmain()
{
inti,n=0,year=0,month=0,day=0;
printf("請輸入天數<輸入-1退出測試>:");
scanf("%d",&n);
while(n!=-1)
{
while(n>=360)
{
n-=360;
year++;
}
while(n>=30)
{
n-=30;
month++;
}
while(n>0)
{
n--;
day++;
}
printf("%d年%d月%d日 ",year,month,day);
year=month=day=0;
printf("請輸入天數<輸入-1退出測試>:");
scanf("%d",&n);
}
return0;
}

『柒』 C語言輸入年份和天數輸出對應的年月日

C語言輸入年份和天數輸出對應的年月日的源代碼如下:

#include<iostream>

intday(int&year,int&month);

intmain()

{

intyear{};

intmonth{};

std::cout<<"請輸入年和月(空格隔開):";

std::cin>>year>>month;

std::cout<<"該月天數:"<<day(year,month)<<' ';

return0;

}

(7)輸出對應的年月日c語言擴展閱讀

1、C++ 標准庫沒有提供所謂的日期類型。C++ 繼承了 C 語言用於日期和時間操作的結構和函數。為了使用日期和時間相關的函數和結構,需要在 C++ 程序中引用 <ctime> 頭文件。

2、有四個與時間相關的類型:clock_t、time_t、size_t和tm。類型 clock_t、size_t 和 time_t 能夠把系統時間和日期表示為某種整數。

『捌』 用c語言從鍵盤任意輸入一個日期(年月日),輸出第二天的日期(年月日)。

源程序如下:

#include "pch.h"

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

using namespace std;

int main()

{

int s[2][13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31,

0,31,29,31,30,31,30,31,31,30,31,30,31, };

int year = 0;

int month = 0;

int day = 0;

int n, i, daytemp;

int flag = 0;

int nyear = 0, nmonth = 0, nday = 0;

printf("輸入年月日 ");

scanf("%d%d%d", &year, &month, &day);

//printf("輸入天數 ");

//scanf("%d",&n);

n = 1;

if (year < 0 || month < 0 || month>12 || day < 1 || n < 0)

{

printf("輸入數據錯誤 ");

return 1;

}

daytemp = day + n;//累加天數

if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)//閏年置1

flag = 1;

if (day > s[flag][month])

{

printf("輸入日期與年月不符. ");

return 1;

}

if (daytemp <= s[flag][month])//當前日期加天數在本月

{

nyear = year;

nmonth = month;

nday = daytemp;

}

else

{

i = month;

nyear = year;

while (daytemp > s[flag][i])//循環遞減,直到當前日期加天數在本月

{

daytemp = daytemp - s[flag][i];

i++;

if (i > 12)//超過一年,年累加核姿

{

nyear++;

if ((nyear % 4 == 0 && nyear % 100 != 0) || nyear % 400 == 0)

flag = 1;

else

flag = 0;

i = i - 12;

}

}

nmonth = i;

nday = daytemp;

}

printf("%d年%d月%d日第%d天後是: ", year, month, day, n);

printf("%d年%d月%d日 ", nyear, nmonth, nday);

return 0;

}

程序運行結果如下:



(8)輸出對應的年月日c語言擴展閱讀:

其他實現方式:

int monthsize(int year, int month) {

int days;

if (month == 2) {

正旦if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)

return 29;

return 28;

}

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:days = 31; break;

case 4:

case 6:

case 9:

case 11: days = 30; break;

}

return days;

}

int main()

int year, month, day, days;

printf("年 月 日:"改清絕);

while (scanf("%d%d%d", &year, &month, &day) == 3) {

days = monthsize(year, month);

if (days == day) {

if (month == 12) {

++year;

month = 1;

day = 1;

}

else ++month;

}

else ++day;

printf("第二天是:%d/%02d/%02d ", year, month, day);

printf("年 月 日(q to quit):");

}

return 0;

}

『玖』 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);

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

『拾』 c語言設計萬年歷 輸入任意年份,輸出該年12個月份 輸入任意年份月份,輸出該年月日歷

#include<stdio.h>
#include<time.h>
#include<malloc.h>
enumMONTH{January=1,February,March,April,May,June,July,August,September,October,November,December};
structtm*getDate(intyear,intmon);
voidprintTime(time_ttheTime,intyear);
intmain()
{
enumMONTHmon;
time_ttheTime;
structtm*date;
intyear,m;
while(1)
{
printf("輸入任意年份及月份: ");
scanf("%d%d",&year,&m);
if(m<1||m>12)
{
printf("月份超出范圍,重新輸入! ");
continue;
}
mon=m;
break;
}
date=getDate(year,mon);
theTime=mktime(date);//從1900年至此的秒數
printTime(theTime,year);
return0;
}
structtm*getDate(intyear,intmon)
{
structtm*date=(structtm*)malloc(sizeof(structtm));
date->tm_sec=0;
date->tm_min=0;
date->tm_hour=0;
date->tm_year=year-1900;
date->tm_mon=mon-1;
date->tm_mday=1;
date->tm_yday=0;
returndate;
};
voidprintTime(time_ttheTime,intyear)
{
inty,m,wday,i,j;
charwd[7][7]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
structtm*date;
date=localtime(&theTime);
y=date->tm_year+1900;
m=date->tm_mon+1;
wday=date->tm_wday;
printf(" ------------------開始生成日歷---------------------- ");
printf("%d年%02d月 ",y,m);
i=0;
for(j=0;j<7;j++)
{
printf("%s",wd[wday++]);
if(wday>6)
wday=0;
}
printf(" ");
while(1)
{
if(date->tm_mon+1>m)
{
printf(" ");
break;
}
printf("%02d日",date->tm_mday);
if(++i==7)
{
printf(" ");
i=0;
}
theTime+=24*60*60;
date=localtime(&theTime);
}
}