题目*
输入某年某月某日,判断这一天是这一年的第几天?
程序分析
以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
原本一开始用的switch函数,但每次运行失败,后来直接无脑输出用if函数,才过的,今天准备做PTA basic 1003的,但字符串还不懂,所以暂时放弃,改做这个。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int year, mouth, day;
int time;
printf("please enter the time:");
scanf("%d %d %d", &year, &mouth, &day);
if (mouth == 1)
time = 0;
if (mouth == 2)
time = 31;
if (mouth == 3)
time = 59;
if (mouth == 4)
time = 90;
if (mouth == 5)
time = 120;
if (mouth == 6)
time = 151;
if (mouth == 7)
time = 181;
if (mouth == 8)
time = 212;
if (mouth == 9)
time = 242;
if (mouth == 10)
time = 273;
if (mouth == 11)
time = 303;
if (mouth == 12)
time = 334;
time = time + day;
if ((year % 4 == 0 && year % 100 != 0) || year % 100 == 0)
{
if (mouth > 2)
time += 1;
}
printf("这是%d年的第%d天。\n", year, time);
system("pause");
return 0;
}
每天一题