2.【编程题]输入一个年份,判断这一年份是否为闰年。闰年是符合以下条件的年份:能被4整除但不能被100整除,或者能被400整C语言
时间: 2024-11-17 08:29:52 浏览: 119
在C语言中,你可以通过编写如下的函数来判断一个年份是否为闰年:
#include <stdio.h>
// 定义判断闰年的函数
int is_leap_year(int year) {
if (year % 4 == 0) {
if (year % 100 == 0) {
// 如果能被400整除则是闰年
return year % 400 == 0;
} else {
// 否则能被4整除且不能被100整除的就是闰年
return 1;
}
} else {
// 不能被4整除的年份不是闰年
return 0;
}
}
int main() {
int year;
printf("请输入一个年份:");
scanf("%d", &year);
if (is_leap_year(year)) {
printf("%d年是闰年。\n", year);
} else {
printf("%d年不是闰年。\n", year);
}
return 0;
}
在这个程序中,is_leap_year
函数接收一个整数年份作为参数,检查其是否满足闰年的规则,并返回相应的结果。在main
函数中,用户输入一个年份,然后调用这个函数并输出结果。
相关问题
请编写一个Python程序,实现以下功能:用户输入一个年份,程序首先判断该年份是否为闰年,然后计算从该年份到当前年份的利息总和,假设本金为1000元,年利率为3%,采用复利计算方式。
在进行这一编程练习时,我们可以从《华东师大Python习题集:算法与编程挑战》中获得启发和指导。该习题集通过一系列精心设计的练习题,帮助我们理解和掌握Python编程的核心概念,如条件判断、循环控制等。
参考资源链接:华东师大Python习题集:算法与编程挑战
首先,我们需要编写一个函数来判断输入的年份是否为闰年。根据闰年的定义,如果年份能被4整除且不能被100整除,或者能被400整除,则该年为闰年。接下来,我们需要计算从用户输入的年份到当前年份的利息总和。利息的计算采用复利方式,即每年的利息都会加入到本金中一起计算下一年的利息。
具体实现步骤如下:
- 编写一个判断闰年的函数
is_leap_year(year)
,使用if-else
语句判断年份是否满足闰年的条件。 - 计算利息总和的函数
calculate_interest(principal, rate, years)
,其中principal
是本金,rate
是年利率,years
是从起始年份到当前年份的年数。 - 在主程序中,获取用户输入的年份,并调用上述两个函数,先判断是否为闰年,然后计算利息总和,并打印结果。
示例代码如下(代码略)。
通过这样的编程练习,我们不仅能够巩固对Python语言的学习,还能够加深对金融计算中复利概念的理解。为了深入理解和掌握更多的编程技巧,建议你查阅《华东师大Python习题集:算法与编程挑战》。该书详细讲解了各种编程概念,并通过大量练习题目帮助读者理解和应用这些知识,是提升编程能力的宝贵资源。
参考资源链接:华东师大Python习题集:算法与编程挑战
:输入某一年的第几天,计算并输出它是这一年的几月几日(要求考虑闰年)。(1)主函数功能:输入某一年的第几天,调用子函数计算该天是这一年的几月几日,输出结果。 (2)子函数功能:计算某一年的第几天是这一年的几月几日,子函数头要求为void MonthDay(int year, int num, int &month, int &day)。
好的,这是一个稍微复杂一些的 C++ 编程题,需要用到函数的参数传递和引用。以下是代码实现:
#include <iostream>
using namespace std;
void MonthDay(int year, int num, int& month, int& day)
{
bool leapYear = false; // 判断是否为闰年
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
leapYear = true;
int daysOfMonth[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; // 每个月的天数
if (leapYear)
daysOfMonth[1] = 29; // 闰年2月有29天
for (int i = 0; i < 12; i++)
{
if (num <= daysOfMonth[i])
{
month = i + 1;
day = num;
break;
}
num -= daysOfMonth[i];
}
}
int main()
{
int year, num;
cout << "请输入年份和天数,用空格隔开:";
cin >> year >> num;
int month, day;
MonthDay(year, num, month, day);
cout << "该日期为:" << year << "年" << month << "月" << day << "日" << endl;
return 0;
}
代码解析:
- 首先,在
MonthDay
函数中,传入年份和天数,以及两个引用类型的月份和日期变量。 - 判断年份是否为闰年。
- 定义一个数组存储每个月的天数,如果是闰年,将2月的天数改为29天。
- 循环遍历每个月,如果天数不足一个月,则该天属于该月。
- 将计算出的月份和日期赋值给引用类型的变量。
- 在主函数中,读入年份和天数。
- 调用
MonthDay
函数计算月份和日期。 - 输出年、月、日。
注意事项:
- 引用类型的变量在函数中可以直接修改实参的值。
- 引用类型的变量必须初始化,否则编译器会报错。
- 函数头中的
void
表示该函数没有返回值。
相关推荐
















