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

上面的输入哪出错了运行不了 下面的把输入改成c++的输入能正常运行

#include <stdio.h>
int main() 
{     
int year,month,day,i,j=0;    
printf("请输入日期");    
scanf("%d",&year);   
scanf("%d",&month);   
scanf("%d",&day);   
for(i=1;i<month;i++)    
{      
    switch(i)       
  {               
      case 1:j+=31;break;           
     case 2:j+=28;break;          
     case 3:j+=31;break;           
    case 4:j+=30;break;            
    case 5:j+=31;break;          
    case 6:j+=30;break;           
    case 7:j+=31;break;           
    case 8:j+=31;break;          
    case 9:j+=30;break;            
    case 10:j+=31;break;            
    case 11:j+=30;break;          
    default:printf("输入有误");break;      
    }   
}        
if(year%400==0 || year%100!=0 && year%4==0)   
{        
    if(month<=2) printf("%d年%d月%d日是该年的第%d天",year,month,day,j+day);    
    else printf("%d年%d月%d日是该年的第%d天",year,month,day,j+day+1);   
}   
else printf("%d年%d月%d日是该年的第%d天",year,month,day,j+day);	
return 0;
}


#include <iostream>
using namespace std;
int main()
{	
    int year, month, day, i, j = 0;	
    printf("请输入日期\n");	
    cin >> year;	
    cin >> month;	
    cin >> day;	
    for (i = 1; i<month; i++)	
    {		
        switch (i)		
        {		
            case 1:j += 31; break;		
            case 2:j += 28; break;		
            case 3:j += 31; break;		
            case 4:j += 30; break;		
            case 5:j += 31; break;		
            case 6:j += 30; break;		
            case 7:j += 31; break;		
            case 8:j += 31; break;		
            case 9:j += 30; break;		
            case 10:j += 31; break;		
            case 11:j += 30; break;		
            default:printf("输入有误"); break;		
         }
}	
if (year % 400 == 0 || year % 100 != 0 && year % 4 == 0)	
{		
    if (month <= 2) printf("%d年%d月%d日是该年的第%d天", year, month, day, j + day);		
    else printf("%d年%d月%d日是该年的第%d天", year, month, day, j + day + 1);	
}	
else printf("%d年%d月%d日是该年的第%d天", year, month, day,j + day);	
system("pause");	
return 0;
}


正在回答

6 回答

https://img1.sycdn.imooc.com//5b5b4ae20001752710030451.jpg 不过,上面的那个也可以运行啊。

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

真...真大佬

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

啊啊啊对不起对不起,不会还瞎说

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

那么我们来看看我们学习的各种运算符号的顺序吧!

优先级别为1的优先级最高,优先级别为10的优先级别最低。


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

case 1:j+=31;break;                case 2:j+=28;break;               case 3:j+=31;break;               case 4:j+=30;break;.....     中每一项case中的j都等于0,也就是只执行第i段的运算

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

阿星灬 提问者

上面有个for循环啊 前面有几个月就会加几次
2018-07-24 回复 有任何疑惑可以回复我~

if(year%400==0 || (year%100!=0 && year%4==0 ))

符号优先级,先&&后||


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

阿星灬 提问者

&& 的优先级是比 || 高的
2018-07-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

上面的输入哪出错了运行不了 下面的把输入改成c++的输入能正常运行

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