Вычисление суммы кодов символов строки - 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];
Объяснение кода листинга программы
- Создается переменная sum типа int и инициализируется значением 0.
- Задается начальное значение переменной i равное 0.
- Задается конечное значение переменной i, которое равно n.
- В каждой итерации цикла значение переменной sum увеличивается на значение элемента массива buf, индекс которого равен i.
- После завершения цикла значение переменной sum будет содержать сумму всех элементов массива buf.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д