Guest User

Untitled

a guest
Mar 17th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. /*
  2. 题目描述
  3. 输入年、月、日,计算该天是本年的第几天。
  4. 输入描述:
  5. 包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。
  6. 输出描述:
  7. 输入可能有多组测试数据,对于每一组测试数据,
  8. 输出一个整数,代表Input中的年、月、日对应本年的第几天。
  9. 示例1
  10. 输入
  11. 1990 9 20
  12. 2000 5 1
  13. 输出
  14. 263
  15. 122
  16. */
  17.  
  18. #include<stdio.h>
  19. #include<string.h>
  20. int Run[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  21. int Ping[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  22.  
  23. int isRun(int year){
  24. if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
  25. return 1;
  26. }else{
  27. return 0;
  28. }
  29. }
  30.  
  31. int cal(int year, int month, int day){
  32. int result = 0;
  33. if(isRun(year)){
  34. for(int i = 0; i < month-1; i++){
  35. result = result + Run[i];
  36. }
  37. result = result + day;
  38. }else{
  39. for(int i = 0; i < month-1; i++){
  40. result = result + Ping[i];
  41. }
  42. result = result + day;
  43. }
  44. return result;
  45. }
  46.  
  47. int main(){
  48. int year, month, day;
  49. while(scanf("%d%d%d", &year, &month, &day)) {
  50. printf("%d\n", cal(year, month, day));
  51. }
  52.  
  53. return 0;
  54. }
Add Comment
Please, Sign In to add comment