求輸出此日期是該年的第幾天
阿新 • • 發佈:2017-10-18
sum 一個 cnblogs clu == else 函數 nth code
1 /* Note:Your choice is C IDE */ 2 #include "stdio.h" 3 4 /*編寫一個計算天數的程序, 5 *用戶從鍵盤輸入年、月、日, 6 *在屏幕輸出此日期是該年的第幾天 7 */ 8 /*自定義函數leap(),判斷輸入的年份是否為閏年*/ 9 int leap(int a) 10 { 11 //閏年是公歷中的名詞,能被4整除但不能被100整除,或能被400整除的年份即為閏年 12 if(a%4==0&&a%100!=0||a%400==0)//閏年判定條件 13 { 14 return 1;//是閏年返回1 15} 16 else 17 { 18 return 0;/*不是閏年返回0*/ 19 } 20 } 21 22 /*自定義函數number(),計算輸入的日期為該年的第幾天*/ 23 int number(int year,int m,int d) 24 { 25 int sum=0,i,j,k,a[12]= 26 { 27 31,28,31,30,31,30,31,31,30,31,30,31 28 };//數組a存放平年每月的天數 29 int b[12]= 30 { 31 31,29,31,30,31,30,31,31,30,31,30,31 32 };//數組b存放閏年每月的天數 33 if(leap(year)==1)//判斷是否為閏年 34 { 35 36 for(i=0;i<m-1;i++) 37 { 38 sum+=b[i];//是閏年,累加數組b前m-1個月份的天數 39 } 40 } 41 else 42 43 for(i=0;i<m-1;i++) 44 { 45 sum+=a[i];//不是閏年,累加數組a前m-1個月份的天數46 47 } 48 sum+=d;//將前面累加的結果加上日期,求出總天數 49 return sum;//返回計算的天數 50 } 51 void main() 52 { 53 int year,month,day,n; 54 printf("請輸入年月日:\n"); 55 scanf("%d%d%d",&year,&month,&day);//輸入年月日 56 n=number(year,month,day);//調用函數 57 printf("第%d天\n",n); 58 }
/*****************************************************************************/
自己獨裏做的
1 /* Note:Your choice is C IDE */ 2 #include "stdio.h" 3 /*編寫一個計算天數的程序, 4 *用戶從鍵盤輸入年、月、日, 5 *在屏幕輸出此日期是該年的第幾天 6 */ 7 /* 8 *鍵盤輸入年月日 9 *年的左右是判斷是否是閏年 10 *月放進一個數組循環加進去 11 *日直接加 12 */ 13 void main() 14 { 15 int i,sum=0,year,month,day; 16 //閏年使用 17 int a[12]={31,29,31,30,31,30,31,31,30,31,30,31}; 18 //不是閏年使用 19 int b[12]={31,28,31,30,31,30,31,31,30,31,30,31}; 20 printf("請輸入年月日:\n"); 21 scanf("%d%d%d",&year,&month,&day); 22 //判斷是否為閏年 23 if(year%4==0&&year%100==0||year%400==0)//是閏年時 24 { 25 printf("%d是閏年\n",year); 26 //沒輸入的月數-1加進來 27 for(i=0;i<month-1;i++) 28 { 29 sum+=a[i]; 30 } 31 32 } 33 else//不是閏年 34 { 35 for(i=0;i<month-1;i++) 36 { 37 sum+=b[i]; 38 } 39 } 40 sum+=day; 41 42 printf("第%d天",sum); 43 }
求輸出此日期是該年的第幾天