在信息技术竞赛中往往容易TLE
那么输入怎么加快呢
可以用一些方法
例如单个字符的输入是更快的,也就是getchar()
那么怎么操作呢
请看下图:
int read1(){
int a=1,b=0;//a是符号,b是数值
char c=getchar();//读入字符
while(c<'0' or c>'9'){
c=getchar();//读入的空格 继续读入
}
while(c>='0' and c<='9'){
b=b*10+c-'0'; //将读入的字符转化为数字
c=getchar();//一位一位读入数字
}
return a*b;
}//全部是正数的读入方式
不知道大家懂了么
当然这个只能读取正数
那么负数的读取怎么弄呢
相信聪明的朋友们都知道了
就是在判断空格的while那里添加符号检测就行了
如下:
int read2(){
int a=1,b=0;//a是符号,b是数值
char c=getchar();//读入字符
while(c<'0' or c>'9'){
if(c=='-') a=-1;//检测负数
c=getchar();//读入的空格 继续读入
}
while(c>='0' and c<='9'){
b=b*10+c-'0'; //将读入的字符转化为数字
c=getchar();//一位一位读入数字
}
return a*b;
}//全部是正数的读入方式
之后就是函数的运用了
相信各位都不陌生了,那么直接展示了:
int main(){
int d[10];
for(int i=0;i<10;i++) d[i]=read2();
for(int i=0;i<10;i++) cout<<d[i]<<' ';
}
那么好,今天关于快速输入的方法讲完了
后续会更新关于快速输出的内容
求点赞,关注,评论,收藏
谢谢
9007

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



