引用 | 编辑
csr
2011-03-04 22:29 |
楼主
▼ |
||
x0
#include<stdio.h>#include<stdlib.h> int main(void) { int i,rem400,rem100,rem4,sum=0; for(i=0;i<=2006;i++) { rem400=i%400; rem100=i%100; rem4=i%4; if(((rem4==0)&&(rem100!=0))||(rem400==0)) .. 访客只能看到部份内容,免费 加入会员 x0
|
引用 | 编辑
totsi
2011-03-07 10:00 |
1楼
▲ ▼ |
请问一下~
这边所说的闰年总和指的是所有润年的年份总和吗? 还是只要算出有几个闰年就好? 因为我看您提供的程式码里面,只有判定是否为闰年,并没有做任何计数的动作。^^m 如果要贴程式码的话,建议放在"复制程式 x0 |
引用 | 编辑
csr
2011-03-08 08:51 |
2楼
▲ ▼ |
大大您好
小弟现已有那一年是闰年了 现在就是要把这些闰年数目加起来看总数有多少个闰年 小弟有设一个变数sum=0 因为写不出来所以就没有计数动作 若大大可以帮忙 是否可帮小弟加总一下有多少个闰年(就是所有闰年个数总和) 谢谢 x0 |
引用 | 编辑
totsi
2011-03-08 14:28 |
3楼
▲ ▼ |
目前只能用脑袋想,所以测试就要麻烦您玩玩看噜XDD
如果只是要算个数,是没那么复杂。 底下省略头尾的部份 复制程式 .... if(((rem4==0)&&(rem100!=0))||(rem400==0)) { ++sum; printf("闰年=%d\t",i); } .... 记得在进入回圈前要归零就是了。 x0 |
引用 | 编辑
csr
2011-03-08 21:51 |
4楼
▲ ▼ |
大大您好
跟据你的写法就和小弟重覆 if(((rem4==0)&&(rem100!=0))||(rem400==0)) printf("闰年=%d\t",i); if(((rem4==0)&&(rem100!=0))||(rem400==0)) { ++sum; printf("闰年=%d\t",i); } 只是大大的程式码多了一个没有用到的++sum 在程式内多没去使用到 所以不管怎么用 结果还是跟小弟的一样 不知小弟这样说明 大大您可清楚 因为小弟要的是所有闰年个数及所有闰年个数的总和 比如说总数486个闰年 像这样的结果 谢谢 ++sum; printf("闰年=%d\t",i); 小弟把 i 改成sum后结果如下 不知怎样把它弄整齐 x0 |
引用 | 编辑
totsi
2011-03-09 15:00 |
6楼
▲ ▼ |
||||||||||
Reference:
XL:判断年份是否为闰年的方法 Character Set要设定为Use Multi-Byte Character Set。 复制程式 #include "stdafx.h" #include <windows.h> int _tmain(int argc, _TCHAR* argv[]) { int nCountYear = 0; //目前年份 int nTotalLeapYearNum = 0; //总闰年个数 int nTotalLeapYearSum = 0; //所有闰年年份总和 int nStartYear = 0; //开始判定年份 int nEndYear = 2006; //最后判定年份 printf("====== Start to show the Leap year between %d and %d =====\n", nStartYear, nEndYear); //NOTE:每年都判定 for ( int nCountYear = nStartYear ; nCountYear <= nEndYear ; nCountYear++ ) { if ( ((nCountYear%4 == 0) && (nCountYear%100 != 0)) || //4的倍数,且不为100的倍数。 For 0~399 ((nCountYear%100 == 0) && (nCountYear%400 == 0) ) //100的倍数,且为400的倍数。 For 400~??? ) { ++nTotalLeapYearNum; //计算年份个数 nTotalLeapYearSum += nCountYear; //计算年份总合 if ( nTotalLeapYearNum%10 != 0 ) { printf("%04d ", nCountYear); }else{ printf("%04d\n", nCountYear); } } } //End of for ( int nCountYear = nStartYear ; nCountYear <= nEndYear ; nCountYear++ ) printf("\n====== End to show the Leap year between %d and %d =====\n", nStartYear, nEndYear); printf("\n====== Statistics Data ======\n"); printf("There are %d leap years.\n", nTotalLeapYearNum); printf("The sum of leap years is %d.\n", nTotalLeapYearSum); ::system("pause"); return 0; }
x2 |