首页 > 代码库 > readint writeint

readint writeint

 

 1 inline int readint() 2 { 3     char c = getchar(); 4     while(!isdigit(c))  c = getchar(); 5  6     int x = 0; 7     while(isdigit(c)) 8     { 9         x = x*10+c-0;10         c = getchar();11     }12     return x;13 }14 15 int buf[10];16 inline void writeint(int i)17 {18     int p = 0;19     if(i == 0)  p++;20     else21         while(i)22     {23         buf[p++] = i%10;24         i /= 10;25     }26     for(int j = p-1; j >= 0; j--)27     {28         putchar(buf[j]+0);29     }30 }
View Code

 

  一般情况下,当输入输出数据很大时,应尽量用scanf和printf函数,如果时间效率还不够高,应逐字符输入输出,就像上面的readint()和writeint(i)函数(注意:上面的函数只能处理非负整数, 可自行编写适用于负整数的函数),由此也可以总结,I/O对于输入输出较大时是不可取的。

readint writeint