第幾天c語言
㈠ 用C語言計算一下今天是今年的第幾天!!求解
幫你修改了下,應該沒錯了,
#include<stdio.h>
intmain()
{
intyear;
intmonth;
intday,days=0;//
inti;
intdate[12][13]={
{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
printf("請輸入當天的日期:");
scanf("%d%d%d",&year,&month,&day);
if((year%4==0&&year%100!=0)||year%400==0)
{
for(i=0;i<month-1;i++)
{
days+=date[1][i];//
}}
else
{
for(i=0;i<month-1;i++)
{
days+=date[0][i];//
}
}
days+=day;
printf("今天是今天的第%d天 ",days);
return0;
}
㈡ C語言輸入年月日計算該日是該年第幾天,
//根據用戶輸入的日期計算出該日期是該年的第多少天。
#include
#include
//system("pause")
main()
{
int year,month,day,total,leap; //total總天數 ,leap用於閏年的2月天數
printf("請輸入年 月 日(按順序,中間用空格隔開):");
scanf("%d%d%d",&year,&month,&day);
if((year%4==0 && year%100!=0) || year%400==0) //判斷是否閏年,閏年2月多一天,所以閏年leap為1,平年為leap為0。
{
leap=1;
}
else
{
leap=0;
}
switch(month) //根據月份計算對應的最終天數。
{
case 1: total=day;break;
case 2: total=31*1+day;break;
case 3: total=31*1+28+leap+day;break;
case 4: total=31*2+28+leap+day;break;
case 5: total=31*2+28+leap+30*1+day;break;
case 6: total=31*3+28+leap+30*1+day;break;
case 7: total=31*3+28+leap+30*2+day;break;
case 8: total=31*4+28+leap+30*2+day;break;
case 9: total=31*5+28+leap+30*2+day;break;
case 10: total=31*5+28+leap+30*3+day;break;
case 11: total=31*6+28+leap+30*3+day;break;
case 12: total=31*6+28+leap+30*4+day;break; //12月之前的11個月中有6個31天,4個30天,2月為28天+leap。
}
if(year>=1 && year<=9999 && month>=1 && month<=12 && day>=1 && day<=31) //判斷輸入是否正解,年份最大為9999,可自行更改。
{
printf("\n\t%d月%d日止,%d年已過去%d天。\n\n",month,day,year,total);
system("pause"); //按任意鍵繼續...
}
else
{
printf("\n\t錯誤\n\n");
system("pause"); //按任意鍵繼續...
}
return 0;
}
㈢ C語言算某年某月某日是這年的第幾天哪有問題
```c
#include
int main() {
int i, year, month, day, sum;
printf("請輸入年份、月份和日期:");
scanf("%d %d %d", &year, &month, &day);
sum = day;
for (i = 1; i < month; i++) {
switch (i) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
sum += 31;
break;
case 4:
case 6:
case 9:
case 11:
sum += 30;
break;
case 2:
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
sum += 29;
} else {
sum += 28;
}
break;
}
}
printf("%d年%d月%d日是該年的第%d天", year, month, day, sum);
return 0;
}
```
以上C語言程序的目的是計算輸入的年份、月份和日期對應的年份中的第幾天。程序首先提示用戶輸入日期,然後通過一個循環來計算在該年之前所有月份的天數總和。最後,輸出計算結果。
代碼中的`scanf`函數使用`%d %d %d`格式說明來讀取三個整數,分別對應年、月、日。在循環中,使用`switch`語句來判斷月份,並相應地增加天數。對於二月,程序檢查是否是閏年,以決定是增加29天還是28天。
程序的輸出格式正確地顯示了輸入日期是該年的第幾天。代碼整體邏輯清晰,但為了提高可讀性和維護性,可能需要對代碼進行進一步的格式化和優化。