输入输出外挂

举报
兔老大 发表于 2021/04/20 01:33:19 2021/04/20
【摘要】 板子不解释 //适用于正负整数template <class T>inline bool scan_d(T &ret){ char c; int sgn; if(c=getchar(),c==EOF) return 0; //EOF while(c!='−'&&(c<'0'||c>'9')) c=getchar(); sgn=...

板子不解释


  
  1. //适用于正负整数
  2. template <class T>
  3. inline bool scan_d(T &ret)
  4. {
  5. char c; int sgn;
  6. if(c=getchar(),c==EOF) return 0; //EOF
  7. while(c!='−'&&(c<'0'||c>'9')) c=getchar();
  8. sgn=(c=='−')?−1:1;
  9. ret=(c=='−')?0:(c−'0');
  10. while(c=getchar(),c>='0'&&c<='9') ret=ret*10+(c−'0');
  11. ret*=sgn;
  12. return 1;
  13. }
  14. inline void out(int x)
  15. {
  16. if(x>9) out(x/10);
  17. putchar(x%10+'0');
  18. }

  
  1. //正负数
  2. template <class T>
  3. bool scan_d(T &ret)
  4. {
  5. char c;
  6. int sgn;
  7. T bit = 0.1;
  8. if (c=getchar(), c==EOF)
  9. {
  10. return 0;
  11. }
  12. while (c! = '-' && c != '.' && (c < '0' || c > '9'))
  13. {
  14. c = getchar();
  15. }
  16. sgn = (c == '-') ? -1 : 1;
  17. ret = (c == '-') ? 0 : (c - '0');
  18. while (c = getchar(), c >= '0' && c <= '9')
  19. {
  20. ret = ret * 10 + (c - '0');
  21. }
  22. if (c == ' ' || c == '\n')
  23. {
  24. ret *= sgn;
  25. return 1;
  26. }
  27. while (c = getchar(), c >= '0' && c <= '9')
  28. {
  29. ret += (c - '0') * bit, bit /= 10;
  30. }
  31. ret *= sgn;
  32. return 1;
  33. }
  34. template <class T>
  35. inline void print_d(int x)
  36. {
  37. if (x > 9)
  38. {
  39. print_d(x / 10);
  40. }
  41. putchar(x % 10 + '0');
  42. }

 

文章来源: fantianzuo.blog.csdn.net,作者:兔老大RabbitMQ,版权归原作者所有,如需转载,请联系作者。

原文链接:fantianzuo.blog.csdn.net/article/details/81814485

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200