给定一个年月日,判断这个日期是否有效,如果有效,请计算出下一天
#include#include bool isValidDate(int yea r,int mon,int day){ //假设无效的 只需要找出有效的 int leap = year%4==0 && year%100!=0 || year%400==0; //闰年 leap为1 平年0 int littel = mon == 4 || mon == 6 || mon == 9 || mon==11;//小月为1 大月为0 if(mon>0 && mon<=12){ if(mon == 2){ if(day>0 && day<=28+leap){//若为闰年则+1 return true; } }else{ if(day>0 && day<=31-littel){ return true; } } } return false; } struct Date{ int year; int mon; int day; }; struct Date nextDay(struct Date d){ //假设有效的日期 struct Date nd = {d.year,d.mon,d.day+1}; if(d.day == 31){ if(d.mon == 12){ nd.year = d.year+1; nd.mon = 1; }else{ nd.mon = d.mon + 1; } nd.day = 1; }else if(d.day == 30){ if(d.mon == 4 || d.mon == 6 || d.mon == 9 || d.mon == 11){ nd.mon = d.mon + 1; nd.day = 1; } }else if(d.day == 29){ if(d.mon == 2){ nd.mon = 3; nd.day = 1; } }else if(d.day == 28){ if(d.mon == 2 && !(d.year%4==0&&d.year%100!=0||d.year%400==0)){ nd.mon = 3; nd.day = 1; } } return nd; } int main(int argc,char *argv[]){ return 0; }
写函数,求一组整数的最大连续子串和
#includeint maxSubSum(int arr[],size_t n){ int sum = arr[0]; //记录最大子串和 int currSum = 0; //当前累加和 int i; for(i=0;i sum){ sum = currSum; } if(currSum < 0){ 若当前累加和为负数,则抛弃不要,重新计算。 currSum = 0; } } return sum; } int main(){ return 0; }
写函数,逆序输出字符串
void nixu(char *arr)
{
size_t len;
for(len=0;str[len];++len);
int i;
for(i=0;i
写函数,把字符串往左移n
void reverse(char *arr,size_t len) //先逆序字符串
{
int i;
for(i=0;i0)
{
reverse(str,len);
reverse(str,len-n);
reverse(str+len-n,n);
}
}



