c语言的函数编程

来源:百度知道 编辑:UC知道 时间:2024/06/07 23:52:29
拜托大家帮帮我吧,做不出来这科就要挂掉了~~~
假定用一个整形数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际长整数m表示为:m=a[k]*10的k-1次幂+a[k-1]*10的k-2次幂+.......+a[2]*10+a[1]
其中a[0]保存该长整数的位数,求:
(1)长整数*普通整数
(2)长整数除以普通整数
(3)长整数转换为16进制数输出
(4)长整数转换为8进制数输出

long int m; //定义长整数为 m

则 把这个长整数

m/1%10 就是个位
m/10%10 就是十位
m/100%10就是百位
...

所以作此循环:
首先定义数组,把数组所有的元素清零;(不用我写了把)

for(i=1;j=1;;m/i*10!=0;i*=10,j++) //当m除以某个值为0 的时候,比如m/1000=0,(之前都不为0)则肯定是个三位数
{
a[i] = m/i%10; 保存这个数组的各个位
}
a[0] = j; 保存位数在a[0]里

后面的就好算了吧

我以前做过,很复杂,不想做了,等我编出来如果还没人回答我就答……