c++计算数字字符串的和
来源:互联网 发布:淘宝上最火的店铺 编辑:程序博客网 时间:2024/05/21 14:42
问:输入11 22 333 444 字符串,计算出4个数相加的结果
答:
采用先去除字符串中的重复空格,然后对数字进行相加
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
/*去除字符串中间重复空格的函数,不考虑头尾*/
string remove_surplus_spaces(const string& src)
{
string result = "";
for(int i = 0;src[i] != '\0';i++)
{
if(src[i] != ' ' )
result.append(1,src[i]);
else
if(src[i+1] != ' ')
result.append(1,src[i]);
}
return result;
}
int func(const string& s,const char c)
{
unsigned int head = 0;
unsigned int pos = 0;
string ssub;
int ret = 0 ,temp;
while((pos=s.find(c,head))!=string::npos)
{
ssub = s.substr(head,pos-head+1);
stringstream ss(ssub); //将字符串转换为数字
ss >> temp;
ret += temp;
head = pos+1;
}
if(head<s.length())
{
ssub = s.substr(head,s.length()-head+1);
stringstream ss(ssub);
ss >> temp;
ret += temp;
}
return ret;
}
int main()
{
string input;
string output;
int result;
getline(cin,input); //输入带空格的字符串
output = remove_surplus_spaces(input);
result = func(output,' ');
cout << result << endl;
return 0;
}
更简洁的解法:
#include <iostream>
using namespace std;
int main()
{
int i,result = 0;
while(cin >> i)
{
result += i;
while(cin.peek()==' ')
{
cin.get();
}
if(cin.peek()=='\n')
break;
}
cout << "result:" << result << endl;
}
根据空格直接区分输入的数字
#include <iostream>
using namesapce std;
int main()
{
int i, result = 0;
do{
cin >> i;
result += i;
}while(cin.get!='\n');
cout << "result: " << result << endl;
return 0;
}
- c计算数字字符串的和
- c++计算数字字符串的和
- C语言 数字和字符串的转换
- js数字字符串的计算
- 415. Add Strings 计算两个数字字符串的和
- 给出一串有数字和字符的字符串,计算有多少数字和字符
- 字符串和数字之间的转换(C/C++)
- 字符串和数字之间的转换(C/C++)
- 分离字符串数字并计算其和
- c语言初学--计算字符串中数字的最大长度并提取 以及输入两个子串 提取分别以这为开头和结尾的字符串
- 【C++】:C++map的妙用之 计算字符串加和
- c/c++ 数字和字符串之间的转化
- C和C++中的数字与字符串的转换
- C语言--字符串和数字的相互转换
- C/C++各种数字和字符串之间的转换函数
- c语言 实现字符串和数字的连接
- 标准C/C++字符串和数字的转化
- 计算一个字符串数字的个数
- Eclipse的安装和配置(Windows)
- Java中Synchronized的用法
- 花式窃取NetNTLM哈希的方法
- mysql存储过程介绍(-)
- leetcode--二叉树和图
- c++计算数字字符串的和
- Hadoop开发初探--Hadoop环境搭建
- 氚云常用代码
- 【sql】oracle运维查看隐含参数
- 在多用户OFDM系统中的无线信息和能量传输
- Python学习 第二天任务 (一:【基于Python编程从入门到实践】第二章 变量和字符串 书本及动手试一试)
- Netty实现简单RPC
- Split Linked List in Parts:切分链表
- Linux——iscsi