C++高手帮忙..谢谢..在线等...

来源:百度知道 编辑:UC知道 时间:2024/07/05 21:02:06
用VC++设计下列程序,并分别验证输出的结果。
1、 输入一个数字,判断它的位数。如输入1234,输出4位。
提示:每次用这个数除以10,然后加1,直到该数为0。

2、 输入一个数字,得到它反转之后的数字。如输入1234,得到4321。请注意:不是依次输出4个数字,而是得到一个整体的数4321。
提示:仍然用上课的原理,依次取得数字之后把上次的结果乘10加上新的数字。
如取得4之后,0*10+4 = 4
取得3之后,4*10+3=43
取得2之后 43*10+2=432
取得1之后 432*10+1 = 4321

3、在2完成之后,输出1-10000之内所有反转之后仍和原数相等的数。如121,7887等。
用 FOR 关键字还要有什么循环语句什么的..这是作业啊...
帮忙啊同志们~

#include <stdio.h>
#include <math.h>
long f(long n)
{ long m,y=0; m=fabs(n);
while(m!=0) {
y=y*10+m%10;
m=m/10;
}
if(n>=0) return y;
else return -y;
void main()
{
printf("%ld\t",f(12345)); printf("%ld\n",f(-34567));
}