程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> 問題十四:定義一個結構體變量(包括年、月、日),要求輸入年、月、日,計算輸出該日是該年的第幾天。

問題十四:定義一個結構體變量(包括年、月、日),要求輸入年、月、日,計算輸出該日是該年的第幾天。

編輯:關於C

/***************************************************************
                          C語言
  
                                         AUTHOR:liuyongshui
 
 ***************************************************************/
/*
    問題十四:定義一個結構體變量(包括年、月、日),要求輸入年、月、日,計算輸出該日是該年的第幾天。
*/

#include <stdio.h>   

 struct date
 {
      int year;
      int month;
      int day;
 };

int checkyear(int n);   //原函數的申明,用於檢查是閏年還是平年。是閏就返回1,反之返回0
const int Day_Of_Month[]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //平年的每月對應的天數

int main()
{
      int i;
      int flag;
      int sum_day=0;

      struct date birthday;
      printf("輸入你出生年月日:");
      scanf("%d %d %d", &birthday.year, &birthday.month, &birthday.day);

      flag=checkyear(birthday.year);
      if(flag)  //是閏就返回1,反之返回0
      {
         sum_day++;
      }

      for(i=0; i<birthday.month; i++)
      {
           sum_day+=Day_Of_Month[i];
      }
     
      sum_day+=birthday.day;

      printf("經過科學計算,您是%d的第%d天出生的。\n", birthday.year, sum_day);

     return 0;
}


// 函數的定義
 int checkyear(int n)
 {
     if((n%4==0 && n%100!=0) || n%400==0)    //是閏年
         return 0;
     else                                    //平年
         return 0;
 }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved