c语言编个小程序 输入年和月 输出该年有多少天 该月有多少天

来源:百度知道 编辑:UC知道 时间:2024/06/16 09:32:55
#include<stdio.h>
main(int argc, char *argv[]){
int year, month, day; //define variable
printf("Enter year and month:\n");
scanf("%d,%d", &year, &month);
if((year%4==0)&&(year%100!=0)||(year%400==0))
{
if(month==1)
{ day=31;
printf("The date of this year %d is: 366\n",year);
printf("Janurary has %d days\n",day);}
else if (month==2)
{ day=29;
printf("The date of this year %d is: 366\n",year);
printf("February has %d days\n",day);}
else if (month==3)
{ day=31;
printf("The date of this year %d is: 366\n",year);
printf("March has %d days\n",day); }
else if (month==4)
{ day=30;
printf("The date of this year %d is: 366\n",year);
printf("April has %d days\n",day); }

因为这里else (month==12); 没有写if
改成else if(month==12); 就正常了

和逗号是没有关系的"%d,%d",有逗号的时候,
输入数据时也得加逗号,如1985,10
感觉运行两遍是因为else (month==12);
任何条件到这都满足,所以会执行它下面的语句。。
谢谢!
----------------
#include<stdio.h>
void main(void)
{
int year, month, day; //define variable
printf("Enter year and month:\n");
scanf("%d,%d", &year, &month);

if((year%4==0)&&(year%100!=0)||(year%400==0))
{
printf("The date of this year %d is: 366\n",year);

if(month==1)
{
day=31;
printf("Janurary has %d days\n",day);}
else if (month==2)
{
day=29;
printf("February has %d days\n",day);}
else if (month==3)
{
day=31;
printf(&q