达州市网站建设_网站建设公司_Vue_seo优化
2025/12/24 19:30:31 网站建设 项目流程

2025年中国海洋大学计算机考研复试机试真题

2025年中国海洋大学计算机考研复试上机真题

历年中国海洋大学计算机考研复试上机真题

历年中国海洋大学计算机考研复试机试真题

更多学校题目开源地址:https://gitcode.com/verticallimit1/noobdream

N 诺 DreamJudge 题库:输入 “学校名称” 即可筛选该校历年机试真题,题目均在考纲范围内,按难度自动排序。还可搭配《计算机考研机试攻略》刷题,书中题目可通过题号直接在题库中查找。

计算日期2

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

给定一个年份 y 和一个整数 d,问这一年的第 d 天是几月几日?
注意闰年的 2 月有 29 天。满足下面条件之一的是闰年:
1) 年份是 4 的整数倍,而且不是 100 的整数倍;
2) 年份是 400 的整数倍。

输入输出格式
输入描述:

输入的第一行包含一个整数 y,表示年份,年份在 1900 到 2015 之间(包含 1900 和 2015)。 输入的第二行包含一个整数 d, d 在 1 至 365 之间。

输出描述:

输出两行,每行一个整数,分别表示答案的月份和日期。

输入输出样例
输入样例#:
2015 80
输出样例#:
3 21

代码一

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. struct data{
  4. int y;
  5. int m;
  6. int d;
  7. };
  8. // 判断年份是否是闰年
  9. bool isRun(data a){
  10. if((a.y%4==0&&a.y%100!=0)||(a.y%400==0)){
  11. return true;
  12. }else{
  13. return false;
  14. }
  15. }
  16. // 计算并打印月份和日期
  17. void hSum(data a,int sumh){
  18. int num[12]={31,28,31,30,31,30,31,31,30,31,30,31};
  19. if(isRun(a)){
  20. num[1]=29;
  21. }else{
  22. num[1]=28;
  23. }
  24. a.d+=sumh;
  25. while(a.d>num[a.m-1]){
  26. a.d-=num[a.m-1];
  27. a.m++;
  28. }
  29. cout<<a.m<<endl<<a.d<<endl;
  30. }
  31. int main(){
  32. data a;
  33. int sumh;
  34. cin>>a.y>>sumh;
  35. a.m=1;
  36. a.d=0;
  37. hSum(a,sumh);
  38. return 0;
  39. }

代码二

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};
  4. int y,d;
  5. bool isry(int year){
  6. if ((year%4==0&&year%100!=0)||year%400==0){
  7. return true;
  8. }
  9. else{
  10. return false;
  11. }
  12. }
  13. int main(){
  14. cin>>y>>d;
  15. int m=1;
  16. if (isry(y)){
  17. days[1]=29;
  18. }
  19. for (int i=0;i<12;i++){
  20. if (d-days[i]>0){
  21. d=d-days[i];
  22. m++;
  23. }
  24. else{
  25. break;
  26. }
  27. }
  28. cout<<m<<endl;
  29. cout<<d<<endl;
  30. return 0;
  31. }

代码三

  1. #include <iostream>
  2. using namespace std;
  3. void NextDay(int &year, int &month, int &day) {
  4. int dayOfMonth[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
  5. int isLeap = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
  6. if (isLeap){
  7. dayOfMonth[2] = 29;
  8. }else{
  9. dayOfMonth[2] = 28;
  10. }
  11. day++;
  12. if (day > dayOfMonth[month]) {
  13. day = 1;
  14. month++;
  15. }
  16. if (month > 12) {
  17. month = 1;
  18. day=1;
  19. year++;
  20. }
  21. }
  22. int main() {
  23. int year, count;
  24. cin >>year>>count;
  25. int curYear = year;
  26. int curMonth = 1;
  27. int curDay = 1;
  28. int days = 1;
  29. while (true) {
  30. if (days==count){
  31. cout<<curMonth<<endl<<curDay;
  32. break;
  33. }
  34. NextDay(curYear, curMonth, curDay);
  35. days++;
  36. }
  37. return 0;
  38. }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询