PTA练习3-5 输出闰年 (15分)

本文介绍了一种算法,用于判断21世纪中截止到某一年的所有闰年,并提供了详细的代码实现。通过输入一个年份,程序将输出从2001年至该年之间的所有闰年,有助于加深对闰年规则的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。

输入格式:

输入在一行中给出21世纪的某个截止年份。

输出格式:

逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。

输入样例1:

2048

输出样例1:

2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048

输入样例2:

2000

输出样例2:

Invalid year!

答案代码块

#include <stdio.h>

int main(){
    
    int n;
    int i,f=0;
    
    scanf("%d",&n);
    
    if( n>2000&& n<=2100){
        for( i = 2001 ; i<=n ; i++){
            if(i%4==0&&i%100!=0||i%400==0){
                printf("%d\n",i);
                f=1;
                
            }
        }
     if(f==0){
    	printf("None");
     }
       
    }else{
    	printf("Invalid year!");

	}

    return 0;
    
}
### PTA练习类汇总 PTA(Programming Teaching Assistant)是一个用于编程教学和评测的在线平台,广泛应用于高校的教学实践中。其题目通常按照难度、知识点以及应用场景进行类。以下是基于常见实践总结的PTA练习类: #### 1. **基础知识** 这一类别主要涉及程序设计的基础概念,适合初学者掌握基本语法和逻辑思维。 - 数据类型与变量声明 - 输入输出操作 - 基本运算符的应用 示例:编写一个简单的程序计算两个整数之和[^3]。 #### 2. **控制结构** 控制结构是程序设计的核心部之一,主要包括条件判断和循环语句- 条件支:`if...else`, `switch...case` - 循环结构:`for`, `while`, `do...while` 示例:实现一个程序,通过用户输入的一个年份判断该年是否为闰年。 #### 3. **函数与模块化** 函数的设计与调用能够提高代码的可读性和重用性。 - 自定义函数 - 参数传递方式 - 返回值处理 示例:创建一个求解二次方程根的函数。 #### 4. **数组与字符串** 数组和字符串的操作是解决实际问题的重要工具。 - 一维/二维数组初始化与遍历 - 字符串的基本操作:拼接、截取、比较等 示例:统计一段文字中某个字符出现次数。 #### 5. **指针与引用** 对于C/C++语言而言,理解指针的概念至关重要。 - 动态内存- 指针算术 - 引用作为参数传入 示例:利用动态内存配构建链表节点。 #### 6. **文件操作** 文件I/O对于保存持久化数据非常必要。 - 文本文件读写 - 二进制文件处理 示例:将一组学生信息存入CSV格式文件。 #### 7. **面向对象编程(OOP)** 面向对象的思想贯穿现代软件开发始终。 - 类与对象定义 - 封装继承多态特性应用 示例:设计一个人类及其子类教师类来展示OOP特点。 #### 8. **算法与数据结构** 更高级别的挑战往往涉及到经典的数据结构和高效算法运用。 - 排序算法:冒泡排序、快速排序等 - 查找技术:线性查找、二法查找等 - 树形结构:二叉树遍历、平衡树维护等 示例:采用堆排序方法对给定列表升序排列。 --- ```cpp // 示例代码片段:简单交换两数值功能演示 #include <iostream> using namespace std; void swap(int& a, int& b){ int temp = a; a = b; b = temp; } int main(){ int num1=5, num2=10; cout << "Before swapping: " << num1 << ", " << num2 << endl; swap(num1, num2); cout << "After swapping: " << num1 << ", " << num2 << endl; } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值