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]!='