PTA 编程题(C语言)-- 输出闰年

这篇具有很好参考价值的文章主要介绍了PTA 编程题(C语言)-- 输出闰年。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

输出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!

思路:用for循或者while循环,来枚举2001年到输入的年份20xx年之间的所有年份,然后判该年份year是不是闰年,判断掉件是if((year%4 == 0 && year%100 != 0) || (year%400 ==0))。

优化:考虑到闰年一定是能整出4的年份,所以我们并不需要遍历2001年到20xx年之间的所有年份,只需要遍历从2004年开始,每次递增4的年份。判断闰年时也可以去掉year%4 == 0这个条件

注意:21世纪是从2001年开始到2100年结束。

代码

#include <stdio.h>
int main () {
    int endYear,year,flag = 0; //flag 为0表示没有找到闰年,为-1表示输入不合法,为1表示有找到闰年
    scanf("%d", &endYear);  // 输入截止年份
    if (endYear < 2001 || endYear > 2100) flag = -1;  // 如果截止年份不合法,标记flag=-1
    else {
        for (year = 2004; year <= endYear; year+=4) {  // 遍历的恰好是4的整数被的年份
            if (year%100 != 0 || year%400 == 0) {  // 这里判断条件可以省略 year%4 == 0
                printf("%d\n", year);
                flag = 1; // 找到闰年,将flag标记为1
            }
        }
    }
    if (flag == -1) printf("Invalid year!");
    else if (flag == 0) printf("None");
    return 0;
}

更多PTA题目的的参考代码,可以在wx小程序里搜“PTA刷题助手”,或扫下面的二维码

pta输出闰年,PTA编程题解析,c语言文章来源地址https://www.toymoban.com/news/detail-753868.html

到了这里,关于PTA 编程题(C语言)-- 输出闰年的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PTA 编程题(C语言)-- 查找指定字符

    题目标题:查找指定字符          题目作者:颜晖 浙江大学 本题要求编写程序,从给定字符串中查找某指定的字符。 输入格式: 输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。 输出格式: 如果找到,在一行内按照格式“

    2024年02月04日
    浏览(26)
  • PTA 编程题(C语言)-- 简化的插入排序

    题目标题:简化的插入排序       题目作者:C课程组 浙江大学 本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。 输入格式: 输入在第一行先给出非负整数N(10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。

    2024年02月03日
    浏览(35)
  • PTA 编程题(C语言)-- 水仙花数

    题目标题:水仙花数             题目作者:徐镜春  浙江大学 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1^3+5^3+3^3。 本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(3≤N≤7)。 输出

    2024年02月04日
    浏览(75)
  • 【PTA-C语言】编程练习3 - 循环结构Ⅱ

    如果代码存在问题,麻烦大家指正 ~ ~ 有帮助麻烦点个赞 ~ ~ 给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。 输入格式: 输入在一行中给出不超过9的正整数a和n。 输出格式: 在一行中按照“s = 对应的和”的格式输出。 输入样例: 输出样例:

    2024年02月03日
    浏览(42)
  • PTA 编程题(C语言)-- 高速公路超速处罚

     题目作者:陈建海  浙江大学 按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。 输入格式: 输入在一行中给出2个正整数,分别对应车速和限速,其

    2024年02月08日
    浏览(31)
  • PTA 6-2自动售货机,c语言答案,包含解析

    书接上回,今天学校发了几道题,而这道题罕见的在CSDN里找不到,同时题本身对刚学结构体的同学,也有一定难度所以想和大家分享一下我的一点心得。 自动售货机内有多种商品(最多不超过50种)供人购买,可以定义如下结构体类型来表示商品信息: 本题要求编写2个函数

    2024年02月04日
    浏览(28)
  • 大一python语言程序设计,大一pta编程题python答案

    大家好,小编为大家解答大一python语言程序设计的问题。很多人还不知道大一pta编程题python答案,现在让我们一起来看看吧! 实例001:数字组合 题目 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析 遍历全部可能,把有重复的剃

    2024年03月22日
    浏览(65)
  • PTA 浙大版《C语言程序设计(第4版)》题目集 参考答案(编程题)

    😀😀 欢 迎 订 阅 😀😀 PTA浙大版《C语言程序设计(第4版)》题目集 详解教程 for循环 版本 while循环 版本 do-while循环 版本 while循环 for循环 参考答案1 if分支 参考答案2 switch-case分支 参考答案1 #include ctype.h 参考答案2 自定义函数 本题题干建议使用动态内存分配 参考答案1 参

    2024年02月02日
    浏览(48)
  • PTA 6-8 用指针操作数组输入输出元素(指针做形参)

    从键盘输入n(n=10),n代表数组元素个数,对数组进行所有元素的输入输出,输入输出功能在fun函数中实现,主函数不要动,要求用指针法操作数组,不要用下标法。 函数接口定义: 裁判测试程序样例 输入格式: 先输入数组的元素个数,然后从键盘输入元素 输出格式: 输出数

    2024年04月10日
    浏览(25)
  • PTA 7-27 输出下半张九九乘法表

    请输出下半张九九乘法表,即下三角的半张。 1×1= 1 2×1= 2 2×2= 4 3×1= 3 3×2= 6 3×3= 9 4×1= 4 4×2= 8 4×3=12 4×4=16 5×1= 5 5×2=10 5×3=15 5×4=20 5×5=25 6×1= 6 6×2=12 6×3=18 6×4=24 6×5=30 6×6=36 7×1= 7 7×2=14 7×3=21 7×4=28 7×5=35 7×6=42 7×7=49 8×1= 8 8×2=16 8×3=24 8×4=32 8×5=40 8×6=48 8×7=56 8×8=64 9×1= 9 9×

    2024年02月01日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包