problemscpp
A collection of my answers to algorithm problems in c++.
函数
acwing::acwing3504 命名空间参考

  1. 字符串转换整数
更多...

函数

int main (istream &cin, ostream &cout)
 
 TEST (acwing3504, case1)
 
 TEST (acwing3504, case2)
 
 TEST (acwing3504, case3)
 
 TEST (acwing3504, case4)
 

详细描述

  1. 字符串转换整数

函数说明

◆ main()

int acwing::acwing3504::main ( istream &  cin,
ostream &  cout 
)

在文件 acwing408.cpp1373 行定义.

1373 {
1374 string s;
1375 cin >> s;
1376 int num = 0;
1377 bool flag = false;
1378 for(char c: s) {
1379 if(isdigit(c)) {
1380 flag = true;
1381 num *= 10;
1382 num += c - '0';
1383 if(num < 0) {
1384 num = -1;
1385 break;
1386 }
1387 } else if(flag) {
1388 break;
1389 }
1390 }
1391 if(!flag) {
1392 num = -1;
1393 }
1394 cout << num;
1395 return 0;
1396 }

被这些函数引用 TEST().

◆ TEST() [1/4]

acwing::acwing3504::TEST ( acwing3504  ,
case1   
)

在文件 acwing408_test.cpp1688 行定义.

1688 {
1689 istringstream in("2016");
1690 auto out = ostringstream();
1691 main(in, out);
1692 const auto ans = out.str();
1693 ASSERT_EQ("2016",
1694 ans);
1695 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().

◆ TEST() [2/4]

acwing::acwing3504::TEST ( acwing3504  ,
case2   
)

在文件 acwing408_test.cpp1697 行定义.

1697 {
1698 istringstream in("o627CSo1");
1699 auto out = ostringstream();
1700 main(in, out);
1701 const auto ans = out.str();
1702 ASSERT_EQ("627",
1703 ans);
1704 }

引用了 main().

◆ TEST() [3/4]

acwing::acwing3504::TEST ( acwing3504  ,
case3   
)

在文件 acwing408_test.cpp1706 行定义.

1706 {
1707 istringstream in("123456789123abc");
1708 auto out = ostringstream();
1709 main(in, out);
1710 const auto ans = out.str();
1711 ASSERT_EQ("-1",
1712 ans);
1713 }

引用了 main().

◆ TEST() [4/4]

acwing::acwing3504::TEST ( acwing3504  ,
case4   
)

在文件 acwing408_test.cpp1715 行定义.

1715 {
1716 istringstream in("abc");
1717 auto out = ostringstream();
1718 main(in, out);
1719 const auto ans = out.str();
1720 ASSERT_EQ("-1",
1721 ans);
1722 }

引用了 main().