c语言编程

[复制链接]
查看11 | 回复1 | 2009-8-4 01:04:06 | 显示全部楼层 |阅读模式
算法给你小讲下。你自己编吧首先yeardays1=(year-1)*365+润年的天数(year%4==0&&year%100!=0||year%400==0)月月days2=(month-1)*一个swtich分三类一个31天,一个30.一个二月份。二月分用润年来判断days3=daydays=days1+days2+days3;OK了
回复

使用道具 举报

千问 | 2009-8-4 01:04:06 | 显示全部楼层
#includeusing std::cin;using std::cout;using std::endl;void main(void){ int i, leap, month; int y1, y2, m1, m2, d1, d2; long day; int m[] = {31,28,31,30,31,30,31,31,30,31,30,31}; y1 = y2 = 0;m1 = m2 = 0; d1 = d2 = 0; leap = 0; day = 0; while((y1 12)||(d1m[m1-1])) { cout>y1>>m1>>d1; if((y1%4 == 0)&&(y1%25 != 0)||(y1%400 == 0)) m[1] = 29;else
m[1] = 28;
cout22)||(d2m[m2-1])) { cout>y2>>m2>>d2; if((y2%4 == 0)&&(y2%25 != 0)||(y2%400 == 0)) m[1] = 29;else
m[1] = 28;
cout<<endl; }for(i = y1; i < y2; i++) {if((i%4 == 0)&&(i%25 != 0)||(i%400 == 0)) leap++;day += 365; } day += leap; for(i = 0, month = d1; i < m1-1; i++) {month += m; } day -= month; for(i = 0, month = d2; i < m2-1; i++) {month += m; } day += month; cout<<y1<<" "<<m1<<" "<<d1<<"到" <<y2<<" "<<m2<<" "<<d2<<"的天数为"<<day<<endl;} 很简单的思路先计算中间有多少个整年,然后再计算出生年月日是那一年的第多少天,结束年月日又是那一年的第多少天,减一下,再加上整年的天数,就是所求代码长度是2L的1/4~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行