帮忙写下这个C语言写的程序设计

来源:百度知道 编辑:UC知道 时间:2024/06/23 16:46:10
#include <stdio.h>
#include <string.h>

#define MAX_SIZE 100 // 大整数的最大位数

char n1[MAX_SIZE] = ""; // 第一个大整数
char n2[MAX_SIZE] = ""; // 第二个大整数
char n3[MAX_SIZE+1] = ""; // 两个大整数之和或差

void do_add();
void do_sub();

void main()
{
// 读入两个大整数
printf("n1=");
scanf("%s", n1);
printf("n2=");
scanf("%s", n2);

// 求和
do_add();

// 求差
do_sub();
}

void do_add()
{
int iLen1;
int iLen2;
int iCarry = 0; // 进位
int n = 0;

// 将两个大整数的各位依次求和
for(iLen1 = strlen(n1)-1, iLen2 = strlen(n2)-1; (iLen1 >= 0) && (iLen2 >= 0); iLen1--, iLen2--)
{
n3[n] = n1[iLen1] - '0' + n2[iLen2] - '0' + iCarry;
iCarry = n3[n] / 10;
n3[n] %= 10;
n++;
}
for(; iLen1 >= 0; iLen1--)<

#include <stdio.h>
#include <string.h>

#define MAX_SIZE 100 // 大整数的最大位数

char n1[MAX_SIZE] = ""; // 第一个大整数
char n2[MAX_SIZE] = ""; // 第二个大整数
char n3[MAX_SIZE+1] = ""; // 两个大整数之和或差

void do_add();
void do_sub();

void main()
{
// 读入两个大整数
printf("n1=");
scanf("%s", n1); //n1没有定义!!! 格式也是错误的 scanf("%s",&n1);
printf("n2=");
scanf("%s", n2); //同上

// 求和
do_add();

// 求差
do_sub();
}

void do_add()
{
int iLen1;
int iLen2;
int iCarry = 0; // 进位
int n = 0;

// 将两个大整数的各位依次求和
for(iLen1 = strlen(n1)-1, iLen2 = strlen(n2)-1; (iLen1 >= 0) && (iLen2 >= 0); iLen1--, iLen2--)
{
n3[n] = n1[iLen1] - '0' + n2[iLen2] - '0' + iCarry;
iCarry = n3[n] / 10;
n3[n]