为了账号安全,请及时绑定邮箱和手机立即绑定

为什么程序运行错误,我想输入从公元01年1月一日,到现在多少天了

#include"stdio.h"
int main()
{
   int m[12]={0,31,59,90,120,151,181,212,243,273,304,334};
   int mr[12]={0,31,60,91,121,152,182,213,244,274,305,335};
   int a,b,c,n,t,r;
   scanf("%d %d %d",a,b,c);
   n=a-1;  
   if(a%4==0&&a%100!=0)
   {
    r=mr[b]+c;
    t=n*365+n/4-n/100+n/400+r;
 printf("%d",t);
    
   }
   else
   {
    r=m[b]+c;
    t=n*365+n/4-n/100+n/400+r;
 printf("%d",t);
   }
   return 0;
}

正在回答

1 回答

scanf那一行的a,b,c前需要加取地址符号。scanf("%d %d %d", &a, &b, &c);

0 回复 有任何疑惑可以回复我~
#1

Miss_me1

另外 r=mr[b]+c;和r=m[b]+c;这两行代码应该改一下,应改为r=mr[b-1]+c-1;和r=m[b-1]+c-1;。不然会多算一个月零一天。
2016-10-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么程序运行错误,我想输入从公元01年1月一日,到现在多少天了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信