當前位置:首頁 » 編程語言 » 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 17:32:27 瀏覽:175
自己的電腦怎麼搭建手游伺服器端 發布:2025-02-07 17:21:44 瀏覽:47
怎樣修改蘋果密碼怎麼辦 發布:2025-02-07 17:15:44 瀏覽:716
電腦一般怎麼連接伺服器 發布:2025-02-07 17:12:55 瀏覽:491
ftp用ie打開文件 發布:2025-02-07 17:07:42 瀏覽:271
android列表顯示 發布:2025-02-07 17:01:19 瀏覽:66
芒果tv緩存的視頻在哪個文件里 發布:2025-02-07 16:45:05 瀏覽:817
php郵件群發 發布:2025-02-07 16:45:05 瀏覽:615
mysql資料庫基本語句 發布:2025-02-07 16:41:48 瀏覽:253
醫院門禁密碼多少 發布:2025-02-07 16:41:43 瀏覽:530