Как посчитать максимальное количество символов в строке? - C (СИ)
Формулировка задачи:
Есть документ txt в нём текст разбитый построчно:
8к86агноармглбю..хщшггшнаснкы гш7егнгпшг
шгнпшоас7879з9ш щлэЖжднрио
Как выявить самую длинную строчку и вывести на экран количество всех символов вместе с пробелом ?
Решение задачи: «Как посчитать максимальное количество символов в строке?»
textual
Листинг программы
int strlen(char* str) // Длина строки
{
int i=0;
for(;str[i];i++)
;
return i;
}
int main()
{
FILE ff;
int L,LMAX=0;
char str[100];
ff=fopen("dat.txt","rt");
while(true)
{
fgets(str,100,ff);
if(feof(ff))
break;
L=strlen(str);
if(L>LMAX)
LMAX=L;
}
printf("%d",LMAX);
}
Объяснение кода листинга программы
- В функции
strlenинициализируется счётчикiравным 0. - В функции
strlenпроисходит итерация по символам строки, пока не встретится нулевой символ. - Каждое значение
iувеличивается на единицу при каждой итерации. - В функции
mainоткрывается файлdat.txtдля чтения. - В функции
mainорганизуется бесконечный цикл, который будет выполняться до тех пор, пока не встретится символ новой строки или не достигнется конец файла. - В функции
mainв каждой итерации цикла считывается строка из файла в массивstr. - В функции
mainвычисляется длина строки с помощью функцииstrlen. - В функции
mainесли длина текущей строки больше максимальной длины, то обновляется значение переменнойLMAX. - В функции
mainпосле завершения цикла выводится на экран значение переменнойLMAX.