acm快速输入法 有效解决超时

int getval()
//快速输入法
{ 
	int ret(0); 
	char c; 
	while((c=getchar())==' '||c=='\n'||c=='\r'); 
	ret=c-'0'; 
	while((c=getchar())!=' '&&c!='\n'&&c!='\r') 
		ret=ret*10+c-'0'; 
	return ret; 
}//快速输入数字
//输入整数【含负数】
int getint(){  
	int t=0,flag=1;  
	char c=getchar();  
	while(c<'0'||c>'9'||c=='-')
	{ 	
		if(c=='-') 	
			flag=-1;	
			c=getchar(); 	
	}  
	while(c>='0'&&c<='9')
	{ 	
		t=t*10+c-'0'; 	
		c=getchar(); 	
	}  
	return t*flag; 
} 


 


 下面的这个是下面楼层的小哥给的 谢谢 不过我还没有测试 先保存下

inline int read()  
{  
    char ch;
	bool flag = false;
    int a = 0;  
    while(!((((ch = getchar()) >= '0') && (ch <= '9')) || (ch == '-')));  
    if(ch != '-')
	{
		a *= 10;
		a += ch - '0';  
	}
	else
	{
		flag = true;
	}
    while(((ch = getchar()) >= '0') && (ch <= '9'))
	{
		a *= 10;
		a += ch - '0';
	}	
	if(flag)
	{
		a = -a;
	}
    return a;  
}  
void write(int a)  
{  
	if(a < 0)
	{
		putchar('-');
		a = -a;
	}
    if(a >= 10)
	{
		write(a / 10);
	}		
    putchar(a % 10 + '0');  
}  


 

你可能感兴趣的:(编程小技巧)