c语言编程:输入某年某月某日,计算出这一天是该年的第几天?该怎么解答啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言编程:输入某年某月某日,计算出这一天是该年的第几天?该怎么解答啊相关的知识,希望对你有一定的参考价值。

//输入年月日,输出是该年第几天
#include<stdio.h>
int sum(int month,int day)

int days[13]=0,31,28,31,30,31,30,31,31,30,31,30,31;
int i;
for(i=1;i<month;i++)
day+=days[i];
return(day);


int leap(year)

int leap=0;
if((year%4==0&&year%100!=0)||(year%400==0))
leap=1;
return leap;


void main()

int year,month,day,num;
printf("Please input year,month,day:\n");
scanf("%d,%d,%d",&year,&month,&day);
num=sum(month,day);
if(leap(year)&&month>=3)
num++;
printf("It is the %dth day.\n",num);
参考技术A //输入年月日,输出是该年第几天
#include<stdio.h>
int
sum(int
month,int
day)

int
days[13]=0,31,28,31,30,31,30,31,31,30,31,30,31;
int
i;
for(i=1;i<month;i++)
day+=days[i];
return(day);

int
leap(year)

int
leap=0;
if((year%4==0&&year%100!=0)||(year%400==0))
leap=1;
return
leap;

void
main()

int
year,month,day,num;
printf("Please
input
year,month,day:\n");
scanf("%d,%d,%d",&year,&month,&day);
num=sum(month,day);
if(leap(year)&&month>=3)
num++;
printf("It
is
the
%dth
day.\n",num);
参考技术B 这个,如果傻一点点可以用个循环从1月1日起来始累加,直到加到等于你的这个日期为止

输入某年某月某日,判断这一天是这一年的第几天?

题目:输入某年某月某日,判断这一天是这一年的第几天?


程序分析:以7月9日为例,应该先把前两个月的加起来,然后再加上9天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

 

 

 1 package com.li.FiftyAlgorthm;
 2 
 3 import java.util.Scanner;
 4 
 5 /**
 6  * 题目:输入某年某月某日,判断这一天是这一年的第几天?
 7  * 程序分析:以7月9日为例,应该先把前两个月的加起来,然后再加上9天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
 8  * 
 9  * @author yejin
10  */
11 public class YearMonthDay {
12     public static void main(String[] args) {
13         int year, month, day;
14         int days = 0;
15         int d = 0;
16 
17         YearMonthDay fymd = new YearMonthDay();
18 
19         System.out.print("Input the year:");
20         year = fymd.input();
21         System.out.print("Input the month:");
22         month = fymd.input();
23         System.out.print("Input The Day:");
24         day = fymd.input();
25 
26         if (year < 0 || month < 0 || month > 12 || day < 0 || day > 31) {
27             System.out.println("Input error, please run this program again!");
28             System.exit(0);
29         }
30         for (int i = 1; i < month; i++) {
31             switch (i) {
32             case 1:
33             case 3:
34             case 5:
35             case 7:
36             case 8:
37             case 10:
38             case 12:
39                 days = 31;
40                 // d += days;
41                 break;
42             case 4:
43             case 6:
44             case 9:
45             case 11:
46                 days = 30;
47                 // d += days;
48                 break;
49             case 2:
50                 if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
51                     days = 29;
52                 } else {
53                     days = 28;
54                 }
55                 // d += days;
56                 break;
57             }
58 
59             d += days;
60 
61         }
62         System.out.println(year + ":" + month + ":" + day + "是今年的第" + (d + day)
63                 + "天。");
64     }
65 
66     public int input() {
67         int value = 0;
68         Scanner s = new Scanner(System.in);
69         value = s.nextInt();
70         return value;
71     }
72 }

 

以上是关于c语言编程:输入某年某月某日,计算出这一天是该年的第几天?该怎么解答啊的主要内容,如果未能解决你的问题,请参考以下文章

输入某年某月某日,判断这一天是这一年的第几天?

C语言试题一百之输入某年某月某日,判断这一天是这一年的第几天

输入某年某月某日,判断这一天是这一年的第几天?

输入某年某月某日,判断这一天是这一年的第几天?

输入某年某月某日,判断这一天是这一年的第几天。

输入某年某月某日,判断这一天是这一年的第几天