编写程序计算了整数2-20中所有整数的不含有1的因子数量,并将因子数量为奇数的整数输出出来。
#include<stdio.h>
int get_days_of_month(int year, int month)
{//补足函数
int days,flag;
//printf("Please input year:"); //
//scanf("%d",&year);//
//printf("Please input month:"); //
//scanf("%d",&month);//
if(year%400==0)
flag=1; //flag为1表示是闰年
else
{ if(year%4==0&&year%100!=0) flag=1;
else flag=0; //flag为0表示非闰年
}
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: days=31;break;
case 4:
case 6:
case 9:
case 11: days=30;break;
case 2:{ if(flag==1) days=29;
else days=28; } break;
default: printf("month input error\n");
}
//printf("%d年%d月份有%d天\n",year,month,days);//
return days;
}
int main(void)
{
int year, month, day;
int m;
int sum;
sum = 0;
scanf("%d %d %d", &year, &month, &day);
for (m = 1; m <month; ++m)
{
int days_of_month, flag;
//第二步:判断当前第m月份天数
//将当前第m月份天数赋值给days_of_month
days_of_month=get_days_of_month(year, m);
//用sum把每月的时间累加起来
sum += days_of_month;
}
//第三步:循环后,加上当月的日期
sum += day;
printf("%d\n", sum);
return 0;
}