Сложение двух длинных целых чисел, в чем ошибка? - C (СИ)
Формулировка задачи:
Во входном файле записано два неотрицательных целых числа, не превышающих 10^100, по одному в каждой строке.
В единственную строку выходного файла нужно вывести одно целое число — сумму чисел А и В, без лидирующих нулей.
Пример входного файла: 9
7
Пример выходного файла: 16
#include<stdio.h>
#include<math.h>
int main()
{
int A,B;
scanf("%d\n%d\n",&A,&B);
printf("%d",A+B);
return 0;
}Решение задачи: «Сложение двух длинных целых чисел, в чем ошибка?»
textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
unsigned long long A, B;
FILE *fp = fopen("data.dat", "rb"); //файл data.dat уже должен быть создан с A и B
FILE *fs = fopen("sum.dat", "wb");//создаст новый sum.dat для ответа
if (fp == NULL || fs == NULL)
{
printf("Error, can't open file\n");
exit(EXIT_FAILURE);
}
fscanf_s(fp, "%lld%lld", &A, &B);
fprintf(fs, "%lld", A + B); //ответ в файл
printf("%lld", A + B); //ответ для консоли
if (fclose(fs) != 0 && fclose(fp) != 0)
{
printf("Error, can't close file\n");
exit(EXIT_FAILURE);
}
getchar();
return 0;
}