鱼C论坛

 找回密码
 立即注册
查看: 756|回复: 3

[已解决]C语言求助大佬

[复制链接]
发表于 2020-6-18 11:18:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

大佬们,看看这道题呗,哪里错了
要求:输入起始年份和终止年份,在起始年份和终止年份用函数输出闰年
#include <stdio.h>
int isLeapYear(int year);
int isLeapYear(int year)
{
    //在此补充函数代码
    int chu, end, y;
    scanf("%d,%d",&chu, &end);
    for(year = chu; year <= end; year++)
    {
    if(year%4 == 0&&year%100 != 0 || year%400 == 0)
    {
        y = 1;
    }else
    {
        y = 0;
    }
    return y;
    }
}
int main(void)
{
    //在此定义主函数代码
    int year, p, y;
    p = isLeapYear(year);
    if(y == 1)
    {
        printf("%6d",p);
    }
    return 0;
}

最佳答案
2020-6-18 11:58:31
本帖最后由 jackz007 于 2020-6-18 12:05 编辑
  1. #include <stdio.h>

  2. bool isLeapYear(int year)
  3. {
  4.         return ! (year % 4) && (year % 100) || ! (year % 400)                                                             ;
  5. }

  6. main(void)
  7. {
  8.         int year , chu , end                                                                                              ;
  9.         scanf("%d%d" , & chu , & end)                                                                                     ;
  10.         if (end >= chu && chu >= 0) for(year = chu ; year < end + 1 ; year ++) if(isLeapYear(year)) printf("%d\n" , year) ;
  11. }
复制代码

        编译、运行实况:
  1. D:\bin>g++ -o y y.c

  2. D:\bin>y
  3. 2000 2100
  4. 2000
  5. 2004
  6. 2008
  7. 2012
  8. 2016
  9. 2020
  10. 2024
  11. 2028
  12. 2032
  13. 2036
  14. 2040
  15. 2044
  16. 2048
  17. 2052
  18. 2056
  19. 2060
  20. 2064
  21. 2068
  22. 2072
  23. 2076
  24. 2080
  25. 2084
  26. 2088
  27. 2092
  28. 2096

  29. D:\bin>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-18 11:52:04 From FishC Mobile | 显示全部楼层
逻辑混乱,是导致一切xxx的根源
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-18 11:58:31 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-6-18 12:05 编辑
  1. #include <stdio.h>

  2. bool isLeapYear(int year)
  3. {
  4.         return ! (year % 4) && (year % 100) || ! (year % 400)                                                             ;
  5. }

  6. main(void)
  7. {
  8.         int year , chu , end                                                                                              ;
  9.         scanf("%d%d" , & chu , & end)                                                                                     ;
  10.         if (end >= chu && chu >= 0) for(year = chu ; year < end + 1 ; year ++) if(isLeapYear(year)) printf("%d\n" , year) ;
  11. }
复制代码

        编译、运行实况:
  1. D:\bin>g++ -o y y.c

  2. D:\bin>y
  3. 2000 2100
  4. 2000
  5. 2004
  6. 2008
  7. 2012
  8. 2016
  9. 2020
  10. 2024
  11. 2028
  12. 2032
  13. 2036
  14. 2040
  15. 2044
  16. 2048
  17. 2052
  18. 2056
  19. 2060
  20. 2064
  21. 2068
  22. 2072
  23. 2076
  24. 2080
  25. 2084
  26. 2088
  27. 2092
  28. 2096

  29. D:\bin>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-18 16:39:08 | 显示全部楼层
你这能运行得起来?C++可能随便找个数给你填上。主函数中定义的year变量没给值就直接用了。
还有,你自定义的函数传入的参数,居然被你在函数里直接赋值,那传入这个参数有什么用?不如直接()不带参。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 23:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表