c语言自行输入两个大数求和
时间: 2023-07-13 10:33:44 浏览: 62
可以使用数组来存储大数,然后模拟手算的方式进行相加。以下是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 1000
int main()
{
char num1[MAX_LEN], num2[MAX_LEN], result[MAX_LEN + 1];
int len1, len2, carry = 0, sum, i;
printf("请输入第一个大数: ");
scanf("%s", num1);
printf("请输入第二个大数: ");
scanf("%s", num2);
len1 = strlen(num1);
len2 = strlen(num2);
// 从低位到高位依次相加
for (i = 0; i < len1 || i < len2; i++) {
sum = carry;
if (i < len1)
sum += num1[len1 - i - 1] - '0';
if (i < len2)
sum += num2[len2 - i - 1] - '0';
result[i] = sum % 10 + '0';
carry = sum / 10;
}
// 如果还有进位,把进位加上
if (carry > 0)
result[i++] = carry + '0';
result[i] = '\0';
// 翻转字符串,输出结果
len1 = strlen(result);
for (i = 0; i < len1 / 2; i++) {
char temp = result[i];
result[i] = result[len1 - i - 1];
result[len1 - i - 1] = temp;
}
printf("两数之和为:%s\n", result);
return 0;
}
```
需要注意的是,这里只考虑了两个整数相加的情况,如果需要支持更多的运算,需要对代码进行相应的修改。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)