c++一个简单程序有点想不通,求助高手~~~

来源:百度知道 编辑:UC知道 时间:2024/09/21 08:21:46
#include<iostream.h>
#include<math.h>
void main()
{
void fun1(int);
void fun2(int);
cout<<"输入一串数字";
int x;
cin>>x;
cout<<"这个数的正序为:";
fun1(x);
cout<<"这个数的逆序为:";
fun2(x);

}
void fun1(int x)
{
int i,z,y;
z=sizeof(x)/sizeof(int);
for (i=0;i<z;i++)
{
y=sizeof(x)/sizeof(int)-1;
cout<<x/int(pow(10,y))<<'\t';

x=x%int(pow(10,y));

}

}
void fun2(int x)
{
int i,z;
z=sizeof(x)/sizeof(int);
for(i=0;i<z;i++){

cout<<x%10<<'\t';
x/=10;
}

}
为什么fun2不能完成功能呢?我判断就是z=1
但是按照程序z该是整数的位数不该是1才对。望能人给予帮助、

#include<iostream.h>
#include<math.h>
void main()
{
void fun1(int);
void fun2(int);
cout<<"输入一串数字";
int x;
cin>>x;
cout<<"这个数的正序为:";
fun1(x);
cout<<"这个数的逆序为:";
fun2(x);

}
void fun1(int x)
{
int i,z,y;
z=sizeof(x)/sizeof(int);
for (i=0;i<z;i++)
{
y=sizeof(x)/sizeof(int)-1;
cout<<x/int(pow(10,y))<<'\t';

x=x%int(pow(10,y));

}

}
void fun2(int x)
{
int i,z;
z=sizeof(x)/sizeof(int); //我看不懂是个什么算法
for(i=0;x!=0;i++){ //换一下判断条件,就可以,
cout<<x%10<<'\t';
x/=10;
}

}

只改一点点,就能达到你要的效果了,呵

楼上的做什么啊 如果输入一个数2013 到0就结束了 晕了
sizeof返回的是字节数 int型占4个字节
所以这里不能用sizeof的函数

你要干什么,感觉你的程序出现了错误亚!

z = sizeof(x)/sizeof(int);
而x是一个int型数,所以siz