1.要求按xxxx-xx-xx的格式输出日期,实现加一天的操作,不考虑闰年问题,所有月份设为30天。输入2004年3月20日,得到加一天后时间为2004-3-21。输入2004年3月30日,得到加一天后时间为2004-4-1。输入2004年12月30日,得到加一天后时间为2005-1-1。
#include <iostream> using namespace std; int main() { int y,m,d; while(1) { //int md[13] = {0,30,30,30,30,30,30,30,30,30,30,30,30}; char ch; cout<<"请输入日期:"<<endl; cin>>y>>ch>>m>>ch>>d; int day=1; cout<<"加上1天,结果:"<<endl; if(d==30) { m++; d=1; if(m==13) { y++; m=1; } } else d++; cout<<y<<ch<<m<<ch<<d<<endl; } return 0;}2.
输入年月日,计算该填是本年的第几天。例如1990年9月20日是1990年的第263天,2000年5月1日是2000年第122天。(闰年:能被400正除,或能被4整除但不能被100整除。每年1、3、5、7、8、10、12为大月)
#include <iostream> using namespace std; bool isleapyear(int y) { return ((y % 4 == 0 && y % 100 != 0 )|| y % 400 == 0); } int main() { int y,m,d; int md[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; while(1) { cout<<"请输入日期:"<<endl; cin>>y>>m>>d; int day=0; for(int i=0;i<m;++i) day+=md[i]; if (m>=2 && isleapyear(y)) ++day; day+=d; cout<<y<<"年"<<m<<"月"<<d<<"日是"<<y<<"年的第"<<day<<"天"<<endl; } return 0;}
新闻热点
疑难解答