问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言数组任务(3),快速采纳

发布网友 发布时间:2023-07-22 23:28

我来回答

6个回答

热心网友 时间:2023-10-01 20:29

#include <stdio.h>
#include <string.h>

void putout(int result[], int n=16);

void moveforward(int result[], int n)
{
if( n==0) return;
int i;
for(i=n; i<=16; ++i) result[i-n] = result[i];
for(i=16-n; i<16; ++i)result[i] = 0;

}

void getMul(int result[], int param[], int n=8)
{
int i, j;
int *tmp = new int[16];
int *param_tmp = new int[8];
for(i=0; i<16; ++i)
{
tmp[i] = 0;
if(i>=8) param_tmp[i-8] = result[i];
}

for(i=0; i<16; ++i) result[i] = 0;

for(i=0; i<n; ++i)
{
for(j=0; j<16; ++j) tmp[j] = 0;
for(j=0; j<8; ++j) tmp[j+8] = param_tmp[j]*param[7-i];
for(j=15; j>=0; --j)
{
if(tmp[j]>=10)
{
if(j>0) tmp[j-1] += tmp[j]/10;
tmp[j] = tmp[j]%10;
}
}

moveforward(tmp, i);

for(j=15; j>=0; --j)
{
result[j] += tmp[j];
if(result[j]>=10)
{
if(j>0) result[j-1] += result[j]/10;
result[j] = result[j]%10;
}
}
}
}

void putout(int result[], int n)
{
int i(0);
while(result[i] == 0) ++i;
//printf("result:");
for(; i< n; ++i) printf("%d",result[i]);
//printf("\n");
}

void main()
{
char param1[9], param2[9];
int result[16], param[8];
printf("Input two number:");
scanf("%s", param1);
scanf("%s", param2);
int i, j(0);
for(i=0; i<16; ++i)
{
if(i<8) param[i] = 0;
result[i] = 0;
}

j=0;
for(i=strlen(param1)-1; i>=0; --i, j++) result[15-j] = param1[i]-'0';
j=0;
for(i=strlen(param2)-1; i>=0; --i, j++) param[7-j] = param2[i]-'0';

getMul(result, param, strlen(param2));

printf("%s*%s=", param1, param2);
putout(result);
printf("\n");
}

热心网友 时间:2023-10-01 20:30

楼主很懒?

热心网友 时间:2023-10-01 20:30

恩 很有道理

热心网友 时间:2023-10-01 20:31

一般方法计算,
找一个高级一点的电脑专家

热心网友 时间:2023-10-01 20:32

等得急 晚上给你.

热心网友 时间:2023-10-01 20:32

//---------------------------------------------------------------------------
#include <string.h>
#include <stdio.h>

int plus(int x[16][16],int i) /*用于计算最后的相加结果*/
{
int j,t=0;
for (j=0; j<16; j++) {
t+=x[j][i];
}
return t;
}
int main(void)
{
int x[16][16]={0},xp[16]={0},len_a,len_b,i,j,lx,l;
char as[9],bs[9];
long int a,b,t;
do{
scanf("%ld%ld",&a,&b);
if (a<b) {
t=a;
a=b;
b=t;
}
sprintf(as,"%ld",a);
sprintf(bs,"%ld",b);
len_a=strlen(as);
len_b=strlen(bs);
}while (len_a>8);/*do-while循环用于确保数字长度不大于8位*/
lx=len_a+len_b-1;
for (i = len_b-1; i>=0; i--) {
l=--lx;
for (j=len_a-1; j>=0; j--) {
t=(bs[i]-48)*(as[j]-48);
if (t>=10) {
x[len_b-1-i][l]+=t%10;
x[len_b-1-i][l-1]+=t/10;
}
else x[len_b-1-i][l]+=t;
if (x[len_b-1-i][l]>=10) {
x[len_b-1-i][l-1]+=x[len_b-1-i][l]/10;
x[len_b-1-i][l]%=10;

}
l--;
}
}
for (i=15; i >=0; i--) {
t=plus(x,i);
if (t>=10) {
xp[i-1]+=t/10;
}
xp[i]+=t%10;
if (xp[i]>=10) {
xp[i-1]+=xp[i]/10;
xp[i]%=10;
}
}
printf("%s*%s=",as,bs);
for (i=0; i<len_a+len_b-1; i++) {
printf("%d",xp[i]);
}
putchar('\n');
return 0;
}
//---------------------------------------------------------------------------
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
荨麻疹吃什么食物好荨麻疹饮食禁忌有哪些 三极管9015的参数有哪些 4岁孩子缺锌比别人矮,还能长高吗 婴儿出生时很矮长大一定矮吗 陌陌表情红唇怎么弄 因为不知道SUMIF函数还能横着用她一上午的工作被别人一分钟搞定_百度知 ... EXCEL中SUMIF公式的运用问题?请教! 苹果手机没有用的软件怎么办苹果手机不常用的软件怎么打开 血尿一般是什么原因引起的 win7桌面图标消失了 桌面图标消失了怎么恢复 跪求!海贼王2034全人物版.... 梦见我疯狂捡宝石的预兆 梦见大货车把自己轧死了 抖音极速版拉满5个人最多有多少钱 查博士聊二手车:这几款车买 采购人员的差旅费为什么不计入存货成本?知道不属于,想知道为什么不属于 企业停产期间制造费用的账务处理 《企业会计准则第1号——存货》属于会计法律制度中的( )。 求2011赛季弗赖堡阵容? 联想a5000怎么连接电脑 双手手腕痛,心随着跳动而痛,好像感觉心跳很慢一样,头也很痛,这说明什么? 大脑神经疼。 首先是眼睛花,看什么东西只能看到一半,一会以后看东西就能看清楚但是头神经就开始疼。 头有点晕,脑袋涨涨的,感觉头里面像心跳一样!晚上还耳鸣,太阳穴有点痛 一楼在院子里盖房子会不会影响二楼的安全? 一楼小屋上的架子快和二楼房顶齐了,对二楼有影响吗 安徽公务员考试笔试满分是多少 关于王国之心358/2天全完美任务的问题 王国之心 358 2 王国之心:358/2天的问题 R4i烧录卡玩不了王国之心358/2 高手帮忙写个程序,急~ C语言 定义并输入一个2*3的数组A和一个3*2的数组B,计算C=A*B,并按照数组格式输出 问3道C语言编程题目 用c语言从键盘输入一个2行3列的数组,然后再转换成一个三行两列的数组输出 冬天玻璃上有水是窗户密封不严吗 冬天玻璃上有水是什么原因 梦见同事们撇下我的预兆 梦到被前同事赶周公解梦 苹果12手机拆开过给原装还一样吗 世界数学家趣闻轶事有哪些? `若想货款!对方要把信用卡正反面与及身份证拍照发送给他。可否有隐患? 小米3怎么将下载改名的update.zip刷机包放入手机SD卡根目录?求截图和步骤! 我告诉了别人我的名字,身份证号,电话号码,信用卡号,正反面照片,别人能盗刷我的钱吗? 信用卡有正反面可以制卡吗 04年帕萨特2.0自动动力怎么样 超市老板用手机刷卡器用我的信用卡正反面的来回刷是不是有复制的嫌疑 OPPOfandx能使用5g网络吗目前OPPOfandx是128g+8g运行加超大内存能使用5g吗 为什么我每天都这么多鼻涕和痰 宝宝鼻子里面很多鼻涕,怎么办 什么是论文的答辩? 内蒙古直播游戏