c语言判断日期是在第几天

#include<stdio.h>int main(){ int a,b,c,sum; printf("请输入年份\n"); scanf("d%",a); printf("请输入月份\n"); scanf("d%",b); switch(b) { case 1:sum=0;break; case 2:sum=31;break; case 3:sum=31+28;break; case 4:sum=31+28+31;break; case 5:sum=31+28+31+30;break; case 6:sum=31+28+31+30+31;break; case 7:sum=31+28+31+30+31+30;break; case 8:sum=31+28+31+30+31+30+31;break; case 9:sum=31+28+31+30+31+30+31+31;break; case 10:sum=31+28+31+30+31+30+31+31+30;break; case 11:sum=31+28+31+30+31+30+31+31+30+31;break; case 12:sum=31+28+31+30+31+30+31+31+30+31+30;break; } printf("请输入号数\n"); scanf("d%",c); sum=sum+c; if(a%400==0) { sum=sum+1; } else if(a%4==0&a%100!=0) { sum=sum+1; } printf("d%",sum); return 0;

}
scanf("d%",a);改为 scanf("d%",&a);
scanf("d%",b);改为scanf("d%",&b);
scanf("d%",c);改为scanf("d%",&c);
也是不对的

#include<stdio.h>
int main()
{
 int a,b,c,sum;
 printf("请输入年份\n");
 scanf("%d",&a);//%d不是d%
 printf("请输入月份\n");
 scanf("%d",&b);
 switch(b)
 {
  case 1:sum=0;break;
  case 2:sum=31;break;
  case 3:sum=31+28;break;
  case 4:sum=31+28+31;break;
  case 5:sum=31+28+31+30;break;
  case 6:sum=31+28+31+30+31;break;
  case 7:sum=31+28+31+30+31+30;break;
  case 8:sum=31+28+31+30+31+30+31;break;
  case 9:sum=31+28+31+30+31+30+31+31;break;
     case 10:sum=31+28+31+30+31+30+31+31+30;break;
  case 11:sum=31+28+31+30+31+30+31+31+30+31;break;
  case 12:sum=31+28+31+30+31+30+31+31+30+31+30;break;
 }
 printf("请输入号数\n");
 scanf("%d",&c);
 sum=sum+c;
 if(a%400==0)
 {
  sum=sum+1;
 }
 else if(a%4==0&a%100!=0)
 {
  sum=sum+1;
 }
 printf("%d",sum);
 return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-18
请将类似scanf("d%",a);的语句都改为scanf("%d",&a);。有没有其他错误没有看!
第2个回答  2015-03-15
#include<stdio.h>
void main()
{
int y,m,d,sum,i;
int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
while((scanf("%d/%d/%d",&y,&m,&d))!=EOF)
{
sum=d;
if(y%4==0&&y%100!=0||y%400==0)
month[2]=29;
else
month[2]=28;
for(i=1;i<m;i++)
sum+=month[i];
printf("%d\n",sum);
}
}追问

    -666666

相似回答