C语言:要完整的源代码;(用C语言编程),请将源代码发送到我的邮箱346606491@qq.com,好的话我可以加分

长整数的处理。功能描述:假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:`m=a[k]×10k-1+a[k-1]×10k-2... 长整数的处理。
功能描述:
假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:`
m=a[k]×10k-1+a[k-1]×10k-2+….+a[2]×10+a[1]
其中a[0]保存该长整数的位数。求:
(1) 长整数乘普通整数;
(2) 长整数除普通整数。
谢谢!!
展开
 我来答
he702477275
2010-12-28 · 超过34用户采纳过TA的回答
知道答主
回答量:147
采纳率:0%
帮助的人:122万
展开全部
#include<iostream.h>
void chen(int num[],int n,int shotnum,int *jieguo,int &jlength)//乘
{

long *temp=new long[n];
int temp1[100];
int j=0;
for(int i=0;i<n;i++)
{
temp[i]=num[i]*shotnum;
}
for(i=n-1;i>=0;i--)
{
temp1[j++]=temp[i]%10;
if(i!=0) temp[i-1]+=temp[i]/10;
else
{
do
{
temp[0]/=10;
if(temp[0]==0) break;
temp1[j++]=temp[0]%10;
}while(1);
}
}
for(i=0;i<j;i++) jieguo[i]=temp1[j-i-1];
jlength=j;
delete []temp;
}
void chu(int num[],int n,int shotnum,int *jieguo,int &jlength)//除
{
int sum=0,temp;
int j=0;
for(int i=0;i<n;i++)
{
sum=sum*10+num[i];
temp=sum/shotnum;
if(j||temp)
{
jieguo[j++]=temp;
sum=sum%shotnum;
}
}
jlength=j;
}
void main()
{
int num[10]={1,2,3,4,5,6,7,8,9,8};
int jieguo[100];
int shotnum=16;
int nlength;
chen(num,10,shotnum,jieguo,nlength);
for(int i=0;i<nlength;i++) cout<<jieguo[i];

chu(num,10,shotnum,jieguo,nlength);
for(i=0;i<nlength;i++) cout<<jieguo[i];
}
//写程序不容易啊,希望对你有帮助
百度网友02de466b1
2010-12-28
知道答主
回答量:42
采纳率:0%
帮助的人:26.7万
展开全部
这个题用C语言麻烦,JAVE会简单的多。。。。
我编过a-b的题,就是整数的高精度类型的。。这个比那个麻烦,呵呵,不想做了啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
adee4210
2010-12-27 · TA获得超过4623个赞
知道小有建树答主
回答量:460
采纳率:0%
帮助的人:291万
展开全部
没看明白。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
playnee
2010-12-27 · TA获得超过637个赞
知道小有建树答主
回答量:442
采纳率:0%
帮助的人:230万
展开全部
看的一般般明白吗,试着给你写写吧
想知道你是想先把M求出来再乘还是利用数组一位位的乘,还有乘数是怎么给的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szlon
2010-12-28 · TA获得超过762个赞
知道小有建树答主
回答量:353
采纳率:66%
帮助的人:216万
展开全部
这个比较复杂!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式