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     else

21         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对于输入输出较大时是不可取的。

你可能感兴趣的:(write)