小明从2006年1月1日开始,每三天结识一个美女两天结识一个帅哥,编程实现当输入2006年1月1日之后的任意一天,输出小明那天是结识美女还是帅哥(注意润年问题)(C语言)
解答:
#include <stdio.h>
int leapYear(int year)
{
int flag;
if(year % 4) flag=1;
else flag=0;
return flag;
}
int maxDay(int year,int month)
{
int maxday;
if(month == 2)
{
if(leapYear(year)) maxday = 29;
else maxday = 28;
}
else if(month == 1 || month == 3 || month == 5 || month == 7 ||
month == 8 || month == 10 || month == 12)
{
maxday = 31;
}
else
{
maxday = 30;
}
return maxday;
}
int main()
{
int year,month,day,i;
int days = 0;
while(1)
{
printf("请输入日期:");
scanf("%d-%d-%d",&year,&month,&day);
for(i=0;i<year-2006;i++)
{
days += leapYear(year)?366:365;
}
for(i=1;i<month;i++)
{
days+=maxDay(year,month);
}
days+=day;
printf("今天是第%d天\n",days);
if (days %2 ==0)
{
printf("小明今天遇到的帅哥\n");
}
if (days %3 ==0)
{
printf("小明今天遇到的是美女\n");
}
if (days %2 !=0 && days %3 !=0)
{
printf("小明今天很孤独\n");
}
days = 0;
}
}
|
|