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

[求助]有关数字的一个程序问题

hemingsheng 发布于 2007-05-16 22:39, 871 次点击

输入任意一个数 要求输出单个的数字 如:输入123456 输出要求为:1,2,3,4,5,6
这个程序怎么编?又来麻烦大家了......

15 回复
#2
yushui2007-05-16 23:00

取模在除 得到每一位 如千位数 x%1000/100 最高位直接除

#3
I喜欢c2007-05-16 23:12

转换成字符串在输出....
不知道有没这个函数?

#4
hemingsheng2007-05-16 23:34
回复:(yushui)取模在除 得到每一位 如千位数 x...

取模是什么东东??

#5
aipb20072007-05-17 10:10

转换为string,再输出每一个字符,加个,就行了!

#6
neverDie2007-05-17 10:43


也可以拆分各位的,用求摸(就是求余数),展转相除!
#7
hemingsheng2007-05-17 11:43

谢谢各位提示
已顺利完成:#include <iostream.h>
int f(int a,int b);
void main()
{
int i,j,x,y=10,b[10];
cout<<"请输入一个小于十位的数字: ";
cin>>x;
for(i=0;i<10;i++)
{
b[i]=f(x,y);
x=x/y;
}
for(i=9;i>=0;i--)
{if(b[i]==0) continue;
else break;
}
for(j=i;j>=0;j--)
{
cout<<b[j]<<",";
}
}
int f(int a,int b)
{
int z;
z=a%b;
return z;
}

另请教一个问题:
怎么才能改变C++默认的保存文件的地方?

#8
cbingli2007-05-17 22:43

正在学C++primer4rd,试着用容器实现输出

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main()
{
string a;
cin>>a;
vector<char> vec;
for(int i=0;i<=sizeof(a);++i)
{if(a[i]<'0'||a[i]>'9')
{
cout<<"输入不合法"<<endl;
system("pause");
return 0;

}
else

vec.push_back(a[i]);
}
for (int i=0;i<vec.size();++i)
cout<<vec[i]<<",";

system("pause");
return 0;
}

#9
hemingsheng2007-05-22 08:02
回复:(cbingli)正在学C++primer4rd,试着用容器实现...
using namespace std; 是什么?
还有怎么那个#include<iostream>为什么可以不要后面那个.h?
我是C++婴儿 请多多指教
#10
hemingsheng2007-05-22 08:03
回复:(aipb2007)转换为string,再输出每一个字符,...

怎么才能转换为string?
版主??

#11
aipb20072007-05-22 08:35

[CODE]#include <iostream>
#include <sstream>

using namespace std;

int main(){
int input;
cin >> input;
ostringstream ostrm;
ostrm << input;
string str = ostrm.str();

string::iterator p = str.begin();
for (;p != str.end();++p)
cout << *p << (p+1 == str.end() ? "\n" : ",");
system("pause");
}[/CODE]

红色部分即为转换!

#12
hemingsheng2007-05-22 09:25
回复:(aipb2007)[CODE]#include #...
#include<iostream>为什么可以不要后面那个.h?
我们用的都是这样的#include<iostream.h>
能给个详细点点的解释否?
#13
aipb20072007-05-22 09:49
.h是旧的标准,不加.h是最新的c++98标准。

一些编译器比如vs2005,dec-vpp已经不允许.h形式了!
应该按新的标准写程序!
#14
hemingsheng2007-05-22 14:10
回复:(aipb2007).h是旧的标准,不加.h是最新的c++9...
那意思是不是假如用新的C++98标准的话 都要在头文件后面加上using namespace std;呢?
还有用C++6.0能不能执行最新的C++98标准呢?
版主?
#15
aipb20072007-05-22 14:46
回复:(hemingsheng)回复:(aipb2007).h是旧的标准...

用using namespace std;是因为cout,cin等等是在名字空间std中命名的。

vc++6.0里两种都可以用,不过要保持一制。

建议你去看看一些关于标准的东西,网络里,书里都有!
还有就是vc++6.0对标准的支持不好,用多了,你就发觉了!

#16
hemingsheng2007-05-22 19:18
回复:(aipb2007)回复:(hemingsheng)回复:(aip...
非常感谢版主的回答和给偶的网站 十分感谢^_^
1