#31362: 為甚麼這樣是tle 我看其他人while(cin>>year)都不會欸


cpsh0905077696@gmail.com (我要吃我腳)

學校 : 國立竹北高級中學
編號 : 158059
來源 : [123.241.231.157]
最後登入時間 :
2024-07-22 23:02:13
c636. 十二生肖 -- it's david | From: [123.110.158.24] | 發表日期 : 2022-07-26 20:02

#include<stdio.h>
#include<math.h>
int main(){
    int year;
    char twelve[12][16]={"鼠","牛","虎","兔","龍","蛇","馬","羊","猴","雞","狗","豬"}; 
    while(scanf("%d",&year)){
        if(year<0){
            abs(year);
            printf("%s",twelve[(12-year)%12]);   
        }
        else
             printf("%s",twelve[(year-1)%12]);       
    
        }
    
}

 
#31363: Re: 為甚麼這樣是tle 我看其他人while(cin>>year)都不會欸


krameri120 (科科)

學校 : 國立臺南高級工業職業學校
編號 : 102318
來源 : [1.173.159.232]
最後登入時間 :
2024-06-06 10:31:47
c636. 十二生肖 -- it's david | From: [39.8.10.78] | 發表日期 : 2022-07-26 20:22

#include
#include
int main(){
    int year;
    char twelve[12][16]={"鼠","牛","虎","兔","龍","蛇","馬","羊","猴","雞","狗","豬"}; 
    while(scanf("%d",&year)){
        if(year<0){
            abs(year);
            printf("%s",twelve[(12-year)%12]);   
        }
        else
             printf("%s",twelve[(year-1)%12]);       
    
        }
    
}

 while(scanf("%d",&year)!=EOF)

 
#31364: Re: 為甚麼這樣是tle 我看其他人while(cin>>year)都不會欸


krameri120 (科科)

學校 : 國立臺南高級工業職業學校
編號 : 102318
來源 : [1.173.159.232]
最後登入時間 :
2024-06-06 10:31:47
c636. 十二生肖 -- it's david | From: [39.8.10.78] | 發表日期 : 2022-07-26 20:35

#include
#include
int main(){
    int year;
    char twelve[12][16]={"鼠","牛","虎","兔","龍","蛇","馬","羊","猴","雞","狗","豬"}; 
    while(scanf("%d",&year)){
        if(year<0){
            abs(year);
            printf("%s",twelve[(12-year)%12]);   
        }
        else
             printf("%s",twelve[(year-1)%12]);       
    
        }
    
}

 while(scanf("%d",&year)!=EOF)

#include<iostream>
using namespace std;
int main(int argc, char** argv)
{
    int n;
    cin>>n;
    cout<<n;
}
試試輸入ctrl + z鍵,看回傳的值
cin通常是碰到End of file 或是手動輸入^Z (ctrl + z)就會停止
如果是scanf() 要看他回傳值等不等於EOF
所以要while(scanf("%d",&year)!=EOF) 


 
ZeroJudge Forum