int main()
{
int yyyy,mm,dd,a,b
scanf("%d/%d/%d",&yyyy,&mm,&dd)
a=31*(mm>1)+28*(mm>2)+31*(mm>3)+30*(mm>4)+31*(mm>5)+30*(mm>6)+31*(mm>7)+31*(mm>梁茄枣8)+30*(mm>纳顷9)+31*(mm>10)+30*(mm>11)+dd
b=((yyyy%4==0)*(yyyy%100!=0)+(yyyy%400==0))*(mm>2)
printf("%d\n",a+b)
return 0
}
m[12]=(31,28,31,30,31,30,31,31,30,31,30,31)这句的写法是错的
一、初始化应该在数组握冲定义时
二、括号运掘应该用{}
修改如下:
int m[12]={31,28,31,30,31,30,31,31,30,31,30,31}
具体到其它旁皮核问题,请LZ自行查阅处理,你的算法逻辑好麻烦,看的不是很懂
#include"stdio.h"#include"stdlib.h"
int main()
{ int y,m,days//存放年、月、天数的变量昌悉
printf("请输入年、月(逗号隔开):\n")//输入提示
scanf("%d,%d",&y,&m)//输入边长(输入时用逗号隔岁迅卜开)
printf("%d %d\n",y,m)
switch(m)
{ case 1:case 3:case 5:case 7:case 8:case 10:case 12:days=31break
case 4: case 6: case 9: case 11: days=30break
case 2: {if(y%4==0&&y%100!=0||y%400==0)days=29//闰年
乎穗 else days=28
break
}
default:days=0 //输入月份不对
}
printf("%d年%d月有%d天\n",y,m,days)
system("pause")
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)