当前位置:首页 » 编程语言 » c语言数组乘法

c语言数组乘法

发布时间: 2023-07-26 05:48:22

❶ 用C语言的乘法函数的方法来计算数组的积

大数乘法基本上是乘法竖式笔算的代码化。
基本功能有3个
1.
大数的数组表示。
2.
大数乘以小数,得到大数。
3.
大数加大数,得到大数。
对于1,其实就是int数组的每个元素存储若干位。比如每个元素保存4个十进制位。[0]存储个十百千,[1]存储万、十万、百万、千万,诸如此类。一个数组保存一个大数。因此需要一个额外的int变量记录当前数组用了多少个元素(类似于字符串长度)。
对于2,“小数”指的是能用一个int保存的数。注意这里只限4个二进制位(和1里提到的位数一致)。
比如1
2345
6789这个数字,[0]保存6789,[1]保存2345,[2]保存1。长度3。

❷ C语言数组里的元素怎么加减乘除

加法:

voidAdd(char s1[],char s2[])//参数为两个字符串数组{ int num1[M],num2[M]; int i,j; len1 = strlen (s1); len2 = strlen (s2); for (i = len1-1,j = 0; i >= 0; i--)//num1[0]保存的是低位 num1[j++]= s1[i] - '0'; for (i = len2-1,j = 0; i >= 0; i --) num2[j++] = s2[i] - '0'; for (i = 0; i < M; i ++) { num1[i] += num2[i]; if (num1[i] > 9) { num1[i] -= 10; num1[i+1] ++; } } for(i = M-1; (i >= 0)&&(num1[i] == 0); i --) ;//找到第一个不是 0的数的位置 if (i>= 0) //从高位到低位输出每个数 for(; i >= 0; i --) printf ("%d",num1[i]); else printf ("0\n");}

减法等于加上负的数
乘法

voidMulti(char str1[],char str2[]){ int len1,len2,i,j; int a[MAX+10],b[MAX+10],c[MAX*2+10]; memset (a,0,sizeof(a)); memset (b,0,sizeof(b)); memset (c,0,sizeof(c)); len1=strlen(str1); for(j=0,i=len1-1; i>=0; i--)//把数字倒过来 a[j++]=str1[i]-'0'; len2=strlen(str2); for(j=0,i=len2-1; i>=0; i--)//倒转第二个整数 b[j++]=str2[i]-'0'; for(i=0; i<len2; i++)//用第二个数乘以第一个数,每次一位 for(j=0;j<len1; j++) c[i+j]+= b[i]*a[j]; //先乘起来,后面统一进位for(i=0;i<MAX*2; i++)//循环统一处理进位问题 if(c[i]>=10) { c[i+1]+=c[i]/10; c[i]%=10; } for(i=MAX*2; (c[i]==0)&&(i>=0);i--);//跳过高位的0 if(i>=0) for(; i>=0; i--) printf("%d", c[i]); else printf("0"); pritnf("\n");} 除法最难 看这里吧http://wenku..com/link?url=rvqp3ApH2ujxsqTnoEnUmxc-_-y(你们竟然会布置除法! 一般都是到乘法)

热点内容
防盗锁编程 发布:2025-02-07 15:31:33 浏览:858
安卓如何快速选择图片 发布:2025-02-07 15:30:43 浏览:466
硬件组态为什么不能编译 发布:2025-02-07 15:30:43 浏览:41
红帆oa服务器地址查询 发布:2025-02-07 14:31:41 浏览:657
文本框脚本图片 发布:2025-02-07 14:23:28 浏览:231
少儿编程c语言 发布:2025-02-07 14:22:50 浏览:218
一阶低通滤波器c语言 发布:2025-02-07 14:22:37 浏览:852
电脑的东西为什么粘贴不到服务器 发布:2025-02-07 14:21:04 浏览:197
手机脱模解压视频 发布:2025-02-07 14:20:18 浏览:473
密码多少密码多少密码多少密码 发布:2025-02-07 14:07:30 浏览:857