你以后可以叫我伯伯
----------------解决方案--------------------------------------------------------
你以后可以叫我伯伯
真的,那我就恭敬不如从命啦feng256伯伯
----------------解决方案--------------------------------------------------------
乖
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <math.h>
#include <stdio.h>
int Bits(int fn) /*判断一个数是几位数*/
{
int i;
for(i=0;fn!=0;i++)
fn=fn/10;
return i;
}
int Value(int x,int n) /*计算一个数的反数值*/
{int a=0,i,aa;
for(i=0;i<n && x!=0;i++)
{
aa=x%10;
x=x/10;
a=a+aa*(int)(pow(10,(n-i-1)));
}
return a;
}
main()
{
int i,fn,sn,s,t,r,fn1,sn1,sum,sum1;
printf("Enter the first number:\n");
scanf("%d",&fn);
s=Bits(fn);
fn1=Value(fn,s);
printf("Enter the second number:\n");
scanf("%d",&sn);
t=Bits(sn);
sn1=Value(sn,t);]
sum=fn1+sn1;
r=Bits(sum);
sum1=Value(sum,r);
printf("The result is %d\n",sum1);
}
已经运行,这个程序是可以满足你的题意的。多指教。
----------------解决方案--------------------------------------------------------
你的程序我也看不懂,自己写了个,你看看!
#include <iostream.h>
#include <string.h>
#include <math.h>
int converse(int number)
{
int temp[100];
int cnt;
int i;
for(i=0;i<100;i++)//将整数倒序
{
temp[i]=number%10;
number/=10;
if(number==0)
break;
}
cnt=i;
i=0;
while(temp[i]==0)//排除倒序后高位出现0
{
cnt--;
i++;
}
number=0;
for(;cnt>=0;cnt--)//计算倒序后整数的真值
{
number+=temp[i]*pow(10,cnt);
i++;
}
return number;
}
void main()
{
int num,num1,num2;
cout<<"Please input two number:"<<endl;
cin>>num1;
cin>>num2;
num=converse(num1)+converse(num2);
cout<<"The answer is: "<<converse(num)<<endl;
}
----------------解决方案--------------------------------------------------------
哦,
你看你的主函数:
void main()
{
scanf("%d",&a);
scanf("%d",&b);
d=contract (a)+contract (b);
printf("d=%d",&d);
}
其中printf函数错了,
应该为:
printf("d=%d",d);
不过我给你改过来,可以运行,但是答案不对啊,
程序有问题!
----------------解决方案--------------------------------------------------------
谢谢楼上各位高手啊~~~我是小菜鸟...:(
会多做练习赶紧提高得.再次感谢楼上各位,可能以后要常来问问题啊.谢谢.
----------------解决方案--------------------------------------------------------