C 解決三天打魚兩天曬網問題(華為面試上機題庫)

2021-10-05 02:42:28 字數 1981 閱讀 8683

// workorrest.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include

#include

#include

using namespace std;

#define refyear 2012

int mouthday[13] = ;

class date

//建構函式

date(string istring)

else

}//將string轉化為日期格式

bool converstringtodate(string istring, string isplit, vector&iodatevect);

//判斷傳入的字串是否都是數字

bool jugestringisnum(string istringnum );

//判斷輸入的日期是否符合規範

bool jugeeffectivedate();

//判斷是否是閏年

bool jugeleapyear( int iyear);

//計算距離日期的天數總和

int calculatesumday();

//得出結果 true為working

bool jugeworkorrest(int isumday);

private:

int year;

int mouth;

int day;

bool iscanuse;

};//將string轉化為日期格式

bool date::converstringtodate(string istring, string isplit,  vector&iodatevect)

string ssubtemp = istring.substr(start, end - start);

//需要判斷 不為空 並且都是數字才可以呼叫下面這個轉化函式

if (jugestringisnum(ssubtemp))

start = end + 1;

}if (iodatevect.size() == 3)

else

return bisconverok;

}//判斷傳入的字串是否都是數字

bool date::jugestringisnum(string istringnum)

for (int i = 0; i < ilen; i++)

}return true;

}//判斷輸入的日期是否符合規範

bool date::jugeeffectivedate()

if (mouth > 12 || mouth < 1)

if (jugeleapyear(year) && mouth == 2)

}else

}return true;

}//判斷是否是閏年

bool date::jugeleapyear(int iyear)

return bisleap;

}//計算距離日期的天數總和

int date::calculatesumday()

else

}for (int mouthstart = 1; mouthstart < mouth; mouthstart++)

else

}sumday += day;

return sumday;

//得出結果 true為working

bool date::jugeworkorrest(int isumday)

return bisworking;

}int _tmain(int argc, _tchar* ar**)

date datecin(scinstring);

//判斷輸入的日期是否符合規範

if (datecin.jugeeffectivedate())

}return 0;

}

三天打魚,兩天曬網。

判斷某人從2010年1月1日起開始 三天打魚,兩天曬網 到之後某一天是在打漁還是曬網 設計日期 2019.3.1 include define year 2010 void main 用陣列表示每月的天數 printf 請輸入所要判斷的時間 n scanf 4d 2d 2d year,month,d...

三天打魚兩天曬網問題

中國有句俗語叫 三天打魚兩天曬網 某人從2010年1月1日起開始 三天打魚兩天曬網 問這個人在以後的某一天是 打魚 還是 曬網 1 輸入乙個年月日,判斷輸入的年月日是否符合實際。如果輸入符合要求,計算從2010年1月1日到所輸入日期的總天數。總天數的演算法 首先計算從2010到所輸入年份的所有年的天...

三天打魚兩天曬網(c )

中國有句俗語叫 三天打魚兩天曬網 某人從2010年1月1日起開始 三天打魚兩天曬網 問這個人在以後的某一天中是 打魚 還是 曬網 思路 問題分析與演算法設計 根據題意可以將解題過程分為三步 1 計算從2010年1月1日開始至指定日期共有多少天 2 由於 打魚 和 曬網 的週期為5天,所以將計算出的天...