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

c語言按年月格式輸出日期

發布時間: 2022-09-26 08:06:01

1. c語言輸入年份和天數輸出對應的年月日

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

#include<iostream>

intday(int&year,int&month);

intmain()

{

intyear{};

intmonth{};

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

std::cin>>year>>month;

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

return0;

}

(1)c語言按年月格式輸出日期擴展閱讀

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

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

2. C語言中如何把月日年輸出為年月日

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

3. c語言如何按照日期區間輸出

函數按照參數fmt所設定格式將time類型的參數格式化為日期時間信息。

C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。

C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言,盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。

C語言發展歷史。

C語言是一門面向過程的計算機編程語言,與C++、C、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

當前階段,在編程領域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優點,相較於其它編程語言具有較大優勢,計算機系統設計以及應用程序編寫是C語言應用的兩大領域。

4. 用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;

}

程序運行結果如下:



(4)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;

}

5. 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();
}
}

6. 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;
}

7. 求助!用c語言編程:按年月日輸出系統日期按時分秒輸出系統時間。要求包含結構體;高手謝謝了O(∩_∩)O~

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

struct MyTime
{
int year;
int month;
int day;
int hour;
int min;
int sec;

void set()
{

char buffer[10];
time_t tt = time( NULL);
struct tm * t = gmtime(&tt);

/*
size_t strftime( char *str, size_t maxsize, const char *fmt, struct tm *time );

功能:函數按照參數fmt所設定格式將time類型的參數格式化為日期時間信息,
然後存儲在字元串str中(至多maxsize 個字元)。用於設定時間不同類型的代碼為
*/

strftime(buffer,10,"%Y",t);
/*
atoi(char* str)

功能:將字元串str轉換成一個整數並返回結果
*/
year = atoi(buffer);

strftime(buffer,10,"%m",t);
month = atoi(buffer);

strftime(buffer,10,"%d",t);
day = atoi(buffer);

strftime(buffer,10,"%H",t);
hour = atoi(buffer);

strftime(buffer,10,"%M",t);
min = atoi(buffer);

strftime(buffer,10,"%S",t);
sec = atoi(buffer);
}
int print()
{
set();
return printf("%4d-%.2d-%.2d %.2d:%.2d:%.2d",year,month,day,hour,min,sec);
}
};
int main(int argc, char *argv[])
{
struct MyTime t;
int printCharNum = 0;
int i;

while(1)
{
printCharNum = t.print();
// 清屏
for(i = 0 ; i < printCharNum ; i ++)
{
printf("\b");
}
}
return 0;
}

8. c語言輸入一個年月日,要求輸出這一天是該年的第幾天

第1個:i<=12
第2個:break;
第3個:d=30;break;
第4個: (year%4!=0) || (year%100==0&&year%400!=0)
第5個:days