2011-04-07 14:09:34Morris

優化輸入的函式

用法:

將這些程式碼貼上去你的code

再指定m=Input();即可

m是你想(型態自行修改)

使用注意:

1.請別放在最外層的輸入(如果要一直輸入的話),因為沒辦法判斷EOF結尾(2011/6/7 修正)
   => 可以判斷EOF,但是必須要另外設定 (相關程式參照下面紅色code)
2.型態請自行修改

NPSC 之類的超大筆輸入 優化之後可加快很多唷!!

EX:

int t, m;
while(scanf("%d",&t)==1)
    while(t--) {
        m=input();
        printf("%d\n",m);
    }

/*************************/

/**********************/
int Input() { 
    char cha; 
    unsigned int x = 0; 
    while(cha = getchar()) 
        if(cha != ' ' && cha != '\n' || cha == EOF) break; 
    if(cha == EOF) return -1;
    x = cha-48; 
    while(cha = getchar()) { 
        if(cha == ' ' || cha == '\n') break; 
        x = x*10 + cha-48; 
    } 
    return x; 
}
/**********************/
回傳 -1 當作是讀到 EOF請自行用
n = Input()
if(n == -1) break;
/**********************/

正整數

/************************/

long long int Input() {  
    char cha;  
    unsigned long long int x=0;  
    while(cha=getchar())  
        if(cha!=' '&&cha!='\n') break;  
    x=cha-48;  
    while(cha=getchar()) {  
        if(cha==' '||cha=='\n') break;  
        x=x*10+cha-48;  
    }  
    return x;  
}

/*************************/

±整數

/************************/

long long int Input() {  
    char cha;  
    unsigned long long int x=0,flag=1;  
    while(cha=getchar())  
        if(cha!=' '&&cha!='\n') break;  
    if(cha!='-')
        x=x*10+cha-48;
    else flag=-1;  
    while(cha=getchar()) {  
        if(cha==' '||cha=='\n') break;  
          x=x*10+cha-48;  
    }  
    return x*flag;  
}

/************************/

±浮點數

/************************/

double point() {
    char cha;
    double poi=0, num=1;
    while(cha=getchar()) {  
        if(cha==' '||cha=='\n') break;  
         num=num/10;
         poi=poi+(cha-48)*num;
    }  
    return poi;
}        
double Input() {  
    char cha,flag=1;  
    double x=0;  
    while(cha=getchar())  
        if(cha!=' '&&cha!='\n') break;  
    if(cha!='-')
        x=x*10+cha-48;
    else flag=-1;
    while(cha=getchar()) {  
        if(cha==' '||cha=='\n') break;  
         if(cha=='.') {
            x=x+point();
            break;
          }
           x=x*10+cha-48;
    }  
    return x*flag;
}

sesso videos 2018-06-09 23:21:19

Thank you..

sexe videos 2018-06-09 23:20:53

Thank you..

xem phim online 2017-10-03 14:02:21

nice article