c語言大整數
發布時間: 2022-04-13 12:28:40
Ⅰ c語言 大整數乘法
#include <stdio.h>
#include<string.h>
int main()
{
int i,j,k=0;
char a[201]="0",b[201]="0",c[401]="0"; //這里將c[0]設為『0』,影響到下面輸入
scanf("%s%s",a,b);
for (i=0;i<=strlen(a)-1;i++)
for (j=0;j<=strlen(b)-1;j++)
{c[i+j+1]+=(a[i]-'0')*(b[j]-'0');}
k=(strlen(a)+strlen(b)-1);
for (;k>=1;k--)
{
c[k-1]+=c[k]/10;
c[k]=c[k]%10; //這一步會將c[k]破壞,所以倒轉
}
if(c[0]!='0') //若最高位為0,則不輸出;
printf("%c",c[0]);
j=strlen(a)+strlen(b);
for (i=1;i<j;i++)
{
printf("%d",c[i]);
}
return 0;
}
======================================
系統報錯的原因是c[1]是char型,不是字元串數組,要用%c而是%s,我想你是把i寫成了1了
Ⅱ C語言數組存儲超大整數
模擬整數除法即可:
#include<stdio.h>
intmain()
{
charstr[101];
intn,i,bcs;
scanf("%d",&n);
getchar();
while(n--){
scanf("%s",str);
bcs=0;
for(i=0;str[i]!='