十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
范围没问题再细查。细查一般这样,你用年月和当月的1日生成一个日期,加上你输入的(日-1)(要消除定位在1号的差),然后取这个日期变量的日,如果和输入日相等就没问题,不等就是输入日期不合法。
南阳网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
只需要考虑输入后的判断么?如果是的(即输入的字符串parse,抽取其中的年、月、日数字之类的),那很简单啊,定义几个常量就行了,然后只要判断提取后的月、日数是否在范围内。
c语言的输出输入是格式化的,printf表示输出,在屏幕上打印出来;scanf表示读入,即把你在屏幕上如果打10,按回车,10就存储到month那个变量里面,%d代表输入一个整数。还有,要注意,你那个不是c语言……已经是c++了。
void parse(char *req){int y, m, d;double t;if(sscanf(req, %d-%d-%d-%lf, &y, &m, &d, &t) == 4){// Do sth.}else{// Error}}用sscanf从字符串中提取数据。
输入年月日三个值,先累加该年之前各个月的每月天数,最后累加日期天数即可获取结果。
这里未包含日期的合法性判断。1970 年以前 要另写程序。
C语言中可以通过函数time来判断时间是否在规定时间。
if((month==1,3,5,7,8,10,12)这样的判断语句是有问题,应该使用||运算符的;if和else语句没有配合好,主要是你的代码嵌套比较多,一定要注意代码缩进,否则自己可能都没有发现那个地方else没有写的。
你的这段代码有问题,for(i=1;im;i++){m=month(m,y);sum=sum+m;}你这样写,就是将月份重复的加了,如果是三月份,你将会发现你加了好多次,自然就会出现800多天了,下面我将代码改进,答案也是对的。
本人(无界)用C-Free编写,亲测可用#include stdio.h#include int main(){ time_t t_ntime; //t_ntime用于储存当前时间 struct tm sttm_time; //声明tm结构体sttm_time。