C语言函数编程判断闰年

判断闰年的标准是:1、能整除4且不能整除100 或者 2、能整除400。只要满足其中一个条件就是闰年。输入输入一个年份输出输出1或者0。
顺便问问我的代码哪里错了
#include<stdio.h>
int fun(int n);
int fun(int n)
{int j;
scanf("%d",&j);
if((j%4==0&&j%100!=0)||(j%400==0))
return 1;
else return 0
;}
int main(void)
{ int n,m;
scanf("%d",&n);
m=fun(n);
printf("%d",m);}

1、首先我们点击桌面左下角的【开始】,打开Visual C++ 6.0软件。

2、然后我们建立一个空的工程,再建立一个空的C源程序文件

3、这里主要用到库函数scanf(),调用格式:scanf(“%d”,&n);n为已定义的整形变量。取址符&,分号之类的都不要忘记写上。

4、如果该年份能被100整除,继续判断,如果能被四百整除,则该年份是闰年,否则不是,例如1900不是闰年,2000是闰年。如果该年份不能被100整除,继续判断,如果被4整除,则该年份是闰年,否则不是。例如2002年不是闰年,2004年是闰年。

5、编译,组件文件,生成exe文件运行。按顺序点击工具栏上(如图)的两个按钮,即可运行程序。

6、输入年份1992,不能被100整除,输出是闰年,与实际情况相符合,该程序设计正确。

7、输入1900,能被100整除,输出不是闰年,与实际符合。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-24
基本没什么问题,略微改动一点:
#include<stdio.h>
int fun(int n)
{
if((n%4 == 0&&n%100 != 0)||(n%400 == 0))
return 1;
else return 0;
}
int main(void)
{
int n,m;
scanf("%d",&n);
m = fun(n);
printf("%d",m);
}
你的代码问题出在int fun(int n)函数中的形参没起到作用,将fun()函数中的j去掉,if语句中j换为形式参数n就可以了。追问

为什么我的代码编出来 1000得到的结果是1?

本回答被提问者采纳
第2个回答  2015-01-09
这是根据你的代码改的
#include<stdio.h>
int fun(int j)
{
if((j%4==0&&j%100!=0)||(j%400==0))
return 1;
else
return 0;
}
int main(void)
{
int n,m;
scanf("%d",&n);
m=fun(n);
printf("%d",m);
}
你的代码运行时需要两次输入 且第一次输入是无意义的
主函数中已经输入n fun函数中不需要再输入一次
直接将输入的n传递给fun函数中的j即可追问

为什么我的代码编出来 1000得到的结果是1?

追答

难道你的编译器坏了。。。。我这里按你原来的程序是0啊




追问

感谢你们。。。因为我定义了一个没用的j。。
不能采纳你了。 大神 能给联系方式请教吗

追答

我很伤心....
你私信好了

第3个回答  2015-01-09
你的函数的参数根本就没有用,连续输入两次就可以了,你函数里面有个输入函数,那才是你真正的年份
第4个回答  2019-12-21
西园属于电脑程序中的一种语言。它属于电脑基础知识。
相似回答