C语言经典实例 4

题目*
输入某年某月某日,判断这一天是这一年的第几天?

程序分析
以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;
}

每天一题

猜你喜欢

转载自blog.csdn.net/smilezyf/article/details/90649487