注册 登录
编程论坛 C++教室

[求助]大数处理问题

jiaju111 发布于 2007-08-08 21:42, 978 次点击

输入一个很大的整数,想把输入的每一位都存入vector<int>

比如输入123456789,容器里的每个元素分别是 1 2 3 4 5 6 7 8 9

而且每一位都当数字用而不是当ASCII码

该怎么实现?

多谢大家!

9 回复
#2
aipb20072007-08-08 22:02
输入一个字符串 “12345678987654321”

再分别把每一位转换为int,用push_back给vector。
#3
jiaju1112007-08-08 23:00

这样转换的话不会转化成ASCII码吗?

我去试试看

多谢了!

#4
aipb20072007-08-08 23:14
以下是引用jiaju111在2007-8-8 23:00:13的发言:

这样转换的话不会转化成ASCII码吗?

我去试试看

多谢了!

别误解了,我说的转换是字符串转整数,不是隐式转换int i = (int)c;这样只能被转换为asc码。
atoi可以实现。

#5
jiaju1112007-08-08 23:17

字符串怎么转整数?

多指教啊

谢谢了!

[此贴子已经被作者于2007-8-8 23:19:28编辑过]

#6
aipb20072007-08-08 23:29
学会用msdn和搜索

atoi函数

char *p = "1";
int i = atoi(p);

现在i就是整数1了。
#7
jiaju1112007-08-08 23:43
谢谢了

我只会在程序的语句里按F1来使用MSDN

象我刚才提的问题,应该怎么使用MSDN?
#8
aipb20072007-08-08 23:51
我告诉你函数的名字,可以用atoi,你就输入这个函数名,看有什么功能,怎么用,有例子的。

你也可以去baidu,googole搜索“字符串转整数”类似这样的关键字,根据搜索到的信息再查看msdn,弄的更明白。



GOOF LUCK!

加油吧!
#9
jiaju1112007-08-08 23:57
懂了,我还不经常使用MSDN,主要是还没有这个意识

以后会注意的

呵呵
#10
viky20032007-08-09 12:04
vector<char>然后每个元素变成相应的vector<int>!!
char a;
vector<char> str;
vectot<int> num;
cin>>a;
while(isdigit(a))
{
str.push_back(a);
cin>>a;
}
for(size_t n=0;n!=a.size();++n)--------也可用迭代器!
num.push_back(atoi(str[i]));

思路是这样,自己整理一下。很简单的!!
1