龙空技术网

C语言如何实现大数相加

逍遥游a 131

前言:

现时看官们对“字符串相加c语言”都比较注重,小伙伴们都想要知道一些“字符串相加c语言”的相关文章。那么小编也在网上网罗了一些有关“字符串相加c语言””的相关知识,希望朋友们能喜欢,小伙伴们快快来学习一下吧!

c语言中int数的取值存在一定的限制,那我们要怎么突破这个限制呢?

#include <stdio.h>

#include <string.h>

int main()

{

int r, i, j, k;

int a[1000] = { 0 }, b[1000] = { 0 }, c[2000] = {0};//

char m[1000], n[1000];//数组m和n是需要相加的两个数

scanf("%s%s", m, n);输入m和n两个大数的值

for (i = 0; i<strlen(m); i++)//strlen()函数去大数的位数

a[i] = m[strlen(m)-i-1] - 48;//原本的数组是字符串数组,现在将它变为int数组

for (j = 0; j<strlen(n); j++)

b[j] = n[strlen(n)-j-1] - 48;//同理

k = (i > j) ? i : j;//选择较大的数的长度,这样就可以完整的输出数组

r = 0;

for (i = 0; i < k; i++)

{

c[i] = (a[i] + b[i]+r) % 10;//%求余

r = (a[i] + b[i]+r) / 10;//r如果是1相当于就进一位

}

if(r!=0) //判断一下 最后一次运算有没有进位 ,如果有的话,就让c多增加一位

{

c[i]=r;

i++;

}

for (j = i-1; j >= 0; j--)

printf("%d", c[j]);

return 0;

}

标签: #字符串相加c语言 #c语言用函数求两个整数的和 #c如何输入一个数组中的数字和数字相加 #c语言一到100求和 1到50的平方 #大数相加c