本帖最后由 为梦想挺身而出 于 2014-7-19 00:26 编辑
- #include <stdio.h>
- void test(int y, int m, int d);
- int main()
- {
- int year ;
- int month;
- int day;
-
- do
- {
- printf("请输入2006-1-1之后的任意一天,年月日之间以-隔开\n");
-
- scanf("%d-%d-%d", &year, &month, &day);
- } while (year<2006 || month<1 || month>12);
-
- test(year, month, day);
-
- return 0;
- }
- void test(int y, int m, int d)
- {
- int sumDaysOfYear = 0, sumDaysOfMonth = 0; // 年、月总天数
-
- int sumDays; // 总天数
-
- int minusYear = (y - 2006); // 计算相差的年数
-
- // 计算相差年的总天数
- for (int i = 0; i<minusYear; i++)
- {
- if ((2006+i) % 4 ==0 && (2006+i) %100 != 0) // 当年份能被4整除又无法被100整除为闰年
- {
- sumDaysOfYear += 366;
- }
- else if ((2006+i) %400 ==0) // 当年份可以被400整除的为闰年
- {
- sumDaysOfYear += 366;
- }
- else
- {
- sumDaysOfYear += 365;
- }
-
- }
-
- int leapYearMonths[12] = {31,29,31,30,31,30,31,31,30,31,30,31}; // 闰年的每月天数
- int yearMonths[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; // 一般年每月天数
-
- // 计算相差月的天数
- for (int j = 1; j < m; j++) // 这里1月份进不来
- {
- if (y % 4 ==0 && y %100 != 0) // 当年份能被4整除又无法被100整除,为闰年
- {
- sumDaysOfMonth+= leapYearMonths[j-1];
- }
- else if (y % 400 ==0) // 当年份可以被400整除的为闰年
- {
- sumDaysOfMonth+= leapYearMonths[j-1];
- }
- else
- {
- sumDaysOfMonth += yearMonths[j-1];
- }
-
- }
-
- sumDays = sumDaysOfYear + sumDaysOfMonth +d; // 年月日的总天数
-
- // 判断结识了什么人
- if (sumDays %2 ==0)
- {
- printf("小明结识了帅哥\n");
- }
-
- if (sumDays %3 ==0)
- {
- printf("小明结识了美女\n");
- }
-
- if (sumDays %2 !=0 && sumDays %3 !=0)
- {
- printf("小明既没有结识美女也没有结识帅哥\n");
- }
-
- }
复制代码
|