int Scan()
{
int res = 0, ch, flag = 0;
if((ch = getchar()) == '-') //判断正负
flag = 1;
else if(ch >= '0' && ch <= '9') //得到完整的数
res = ch - '0';
while((ch = getchar()) >= '0' && ch <= '9' )
res = res * 10 + ch - '0';
return flag ? -res : res;
}
使用方法:【该外挂适合纯数字输入!】
int a;
a = Scan(); //相当于scanf("%d", &a);
int
/* 输入外挂
使用方法:
int a;
a = Scan();
*/
int Scan()
{
int res = 0 , ch ;
while( !( ( ch = getchar() ) >= '0' && ch <= '9' ) )
{
if( ch == EOF ) return 1 << 30 ;
}
res = ch - '0' ;
while( ( ch = getchar() ) >= '0' && ch <= '9' )
res = res * 10 + ( ch - '0' ) ;
return res ;
}
字符串
void scanf_(int *p)
{
char in;
while((in=getchar())>57||in<48);
*p=in-48;
while(in=getchar(),in>=48&&in<=57)
*p*=10,*p+=in-48;
}
使用样例:
scanf_(&a);
double
int re(double *ret){
int sgn;
double bit=0.1;
char c;
c=getchar();
if(c==EOF)return true;
while(c!='-'&&c!='.'&&(c<'0'||c>'9'))c=getchar();
sgn=(c=='-')?-1:1;
*ret=(c=='-')?0:(c-'0');
while((c=getchar())>='0'&&c<='9')*ret=*ret*10+(c-'0');
if(c==' '||c=='\n'){*ret*=sgn;return true;}
while((c=getchar())>='0'&&c<='9')*ret+=(c-'0')*bit,bit/=10;
*ret*=sgn;
return false;
}

472

被折叠的 条评论
为什么被折叠?



