写一个c语言判断输入年份是否为闰年,如果是闰年,则计算1到该年份数值的累加;否则输出该年份为平年。闰年条件:被4整除并不能被100整除,或被400整除
时间: 2024-05-15 16:14:47 浏览: 13
。以下是 C 语言代码:
```c
#include <stdio.h>
int main() {
int year, sum = 0;
printf("请输入一个年份:");
scanf("%d", &year);
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
printf("%d年是闰年\n", year);
for (int i = 1; i <= year; i++) {
sum += i;
}
printf("1到该年份的累加和为:%d\n", sum);
} else {
printf("%d年是平年\n", year);
}
return 0;
}
```
相关问题
c语言,从键盘输入年份和月份,计算该年1月1到当月月底的总天数
可以采用循环的方式,根据每个月的天数累加总天数。需要注意闰年的情况,闰年的2月有29天。
以下是示例代码:
```c#include <stdio.h>
int main() {
int year, month, totalDays = 0;
printf("请输入年份和月份,格式为 yyyy mm:\n");
scanf("%d %d", &year, &month);
// 计算该年1月1日是星期几
int dayOfWeek = 1; // 1900年1月1日是星期一,因此从星期一开始计算
for (int y = 1900; y < year; y++) {
dayOfWeek = (dayOfWeek + (y % 4 == 0 && y % 100 != 0 || y % 400 == 0 ? 366 : 365)) % 7;
}
for (int m = 1; m < month; m++) {
int daysInMonth;
switch (m) {
case 4:
case 6:
case 9:
case 11:
daysInMonth = 30;
break;
case 2:
daysInMonth = year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ? 29 : 28;
break;
default:
daysInMonth = 31;
}
totalDays += daysInMonth;
}
totalDays += dayOfWeek; // 1月1日是星期几,加上这些天
totalDays += 30 - (totalDays - 1) % 7; // 加上当月剩余的天数
printf("%d年%d月的总天数为%d天。\n", year, month, totalDays);
return 0;
}
```
需要注意的是,该代码中采用了一些简化计算的方法,可能存在误差,不适用于精确计算。
输入年月日,输出它是该年的第几天 (每月的天数存入二维数组,平年和闰年分别存入一行) 用C语言写个简单易懂的
好的,以下是一个简单易懂的 C 语言代码示例,可以实现输入一个日期,计算出它是该年的第几天:
```c
#include <stdio.h>
int main() {
int year, month, day, i, days = 0;
int daysOfMonth[2][12] = {
{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
printf("请输入年月日,格式为:年 月 日\n");
scanf("%d %d %d", &year, &month, &day);
// 判断年份是否为闰年
int isLeapYear = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
// 计算该日期是该年的第几天
for (i = 1; i < month; i++) {
days += daysOfMonth[isLeapYear][i - 1];
}
days += day;
printf("%d 年 %d 月 %d 日是该年的第 %d 天\n", year, month, day, days);
return 0;
}
```
程序中定义了一个二维数组 `daysOfMonth` 来存储每个月的天数,第一行代表平年,第二行代表闰年。接着程序通过 `scanf` 函数获取用户输入的年月日信息,并判断该年份是否是闰年。然后程序通过循环累加每个月的天数,最后加上当前日期的天数即可得出结果。最后程序通过 `printf` 函数输出结果。