Вычисление суммы кодов символов строки - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Подскажите, как подправить программу, так как не работает. Комментарии в тексте
#include <stdio.h>
void main()
{
    FILE *input_file;
    float *t; // массив, содержащий коды символов
    int n, i, sum;
    char buf[4096]; // строка из файла
    char input_file_name[81];// имя файла
    printf("Inrut file name? ");
    scanf("%s", input_file_name);
    input_file = fopen(input_file_name, "rt");
    if (input_file==NULL)
      {
        printf("\nError opening file!");
        exit();
      }
    fgets(buf, sizeof(buf), input_file);
    n = strlen(buf);// длина строки из файла
    t = (float *)malloc(n*sizeof (float));// тут выделяю память
   for (i = 1; i < n; i++)
      {
        t[i-1] = (int)buf;// здесь должен находиться код символа
        sum+=t[i-1];// а тут его сумма 
                      //     это и не работает
      }
    free(t);
    printf("%d", sum);
    scanf(" ");
}
Необходимо, чтобы она выводила сумму кодов строки из файла.

Решение задачи: «Вычисление суммы кодов символов строки»

textual
Листинг программы
sum=0;
for (i = 0; i < n; i++)
    sum+=buf[i];

Объяснение кода листинга программы

  1. Создается переменная sum типа int и инициализируется значением 0.
  2. Задается начальное значение переменной i равное 0.
  3. Задается конечное значение переменной i, которое равно n.
  4. В каждой итерации цикла значение переменной sum увеличивается на значение элемента массива buf, индекс которого равен i.
  5. После завершения цикла значение переменной sum будет содержать сумму всех элементов массива buf.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.8 из 5
Похожие ответы