Можно сначала сгенерировать список из n чисел и записать его в файл - это для того, чтобы точно знать, что файл не пустой и в нём ровно n натуральных чисел, например, рандомно сформированных и не более чем трёхзначных, тогда и с концом файла будет возни меньше.
Потом считываем из файла эти n чисел, находим суммы их цифр и выводим это всё на экран:
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
int main() { int i, l, m, n; FILE *s; printf("n: ");
scanf("%d", &n); s = fopen("Results.txt", "w");
srand(time(NULL)); for (i = 0; i < n; i++)
{ m = 1 + rand() % 999; fprintf(s, "%d ", m); }
fclose(s); s = fopen("Results.txt", "r");
for (i = 0; i < n; i++) { fscanf(s, "%d", &m);
printf("%d=", m); l = 0; while (m) { l += m % 10;
m /= 10; } printf("%d ",l); } fclose(s); printf("\n");
getchar(); getchar(); return 0; }
