2 u011862238 u011862238 于 2014.05.26 22:31 提问

请各位大神帮我看看在vc6.0这哪错了 c语言的

#include
int leap(int a)

int number(int year,int m, int d)
//闰年条件能被4、400整除不能被100
void main()
{
int year,month,day,n;
printf("请输入年月日\n");
sacanf("%d,%d,%d",&year,&month,&day);
n=number(year,month,day);
printf("%d\n",n);
}
int leap(int a)
{
if(a%4==0&&a%100!=0||a%400==0)
return 1;
else
return 0;
}
int number(int year,int m,int d)
{
int sum=0,i;
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};

int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};

if(leap(year)==1)
for(i=0; i<m-1; i++)
sum+=b[i];
else
for(i=0;i<m-1;i++)
sum+=a[i];
sum+=d;
return sum;
}

4个回答

lym753024200
lym753024200   2014.05.26 22:47

好多地方缺少分号,再就是if判断闰年逻辑中&&优先级大于||的

u011862238
u011862238 好的谢谢
3 年多之前 回复
ryhhs
ryhhs   2014.05.28 23:04

1.include没保护文件。
2.函数原型后要加分号。
3.sacanf()这是不是打错?
没看你逻辑,就看了一下格式。

worldwsyw
worldwsyw   2014.06.05 08:57

int leap(int a)
int number(int year,int m, int d)
这两句少分号

yainyiyi123
yainyiyi123   2014.06.08 16:39

我试了下,把include头文件正确写出来
#include
函数声明两处:int leap(int a)
int number(int year,int m, int d)加上分号,
以及sacanf()改为scanf()是可以编译通过的

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!