计算天数c语言编程pta
时间: 2023-12-22 21:29:01 浏览: 244
以下是一个使用C语言编写的计算天数的程序示例:
```c
#include <stdio.h>
int main() {
int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31,30, 31};
int year, month, day;
int i, result = 0;
scanf("%d %d %d", &year, &month, &day);
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
days[1] = 29;
}
for (i = 0; i < month - 1; i++) {
result += days[i];
}
result += day;
printf("%04d-%02d-%02d:%d\n", year, month, day, result);
return 0;
}
```
这个程序首先定义了一个包含每个月天数的数组`days`,然后通过输入获取年、月、日的值。接下来,根据输入的年份判断是否是闰年,如果是闰年,则将二月的天数设为29天。然后使用一个循环累加每个月的天数到`result`变量中。最后,将结果以指定的格式输出。
相关问题
pta计算天数c语言
这是一段用C语言编写的计算日期天数的程序。用户需要输入一个日期,程序会计算出这个日期是这一年的第几天。程序使用了switch语句和条件语句来判断每个月份的天数,并且考虑了闰年和非闰年2月的天数特殊性。如果用户输入的是1月份,则计算结果为输入的日期天数。如果您想了解更多关于C语言计算日期天数的知识,可以参考引用中的解题思路。
如何使用C语言编程在PTA(Programming Task Assignment)环境中求出给定日期是一年中的第几天?
在C语言编程中,要计算给定日期是一年中的第几天,可以使用Zeller's Congruence算法或者直接基于月份和天数来实现。这里我们展示基于月份和天数的简单方法,适用于非闰年的情况:
```c
#include <stdio.h>
int dayOfYear(int month, int day, int year) {
if (month <= 2) {
// 若输入的月份小于3(即公历1月和2月),视作上一年的最后两个月
month += 12;
year--;
}
int days = (day + ((13 * (month + 1)) / 5) + year + (year / 4) - (year / 100) + (year / 400));
return days % 7; // 返回结果对7取余,得到一周中的第几天(0-6,其中0表示周一)
}
int main() {
int month, day, year;
printf("请输入月份(1-12),天数(1-31),和年份:");
scanf("%d%d%d", &month, &day, &year);
int dayOfTheYear = dayOfYear(month, day, year);
printf("给定日期 %d/%d/%d 是一年中的第 %d 天.\n", month, day, year, dayOfTheYear);
return 0;
}
```
此程序会忽略闰年的规则,如果需要精确计算,请注意判断是否为闰年。
阅读全文
相关推荐













