Дан файл со строками, подсчитать количество чисел в нем(именно чисел, а не цифр) - C (СИ)

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

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

Подскажите как организовать чтение чисел.

Решение задачи: «Дан файл со строками, подсчитать количество чисел в нем(именно чисел, а не цифр)»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    FILE *f;
    char str[100];
    int i,find,n;
 
    f=fopen("MyFile","r");
    n=0;
    while(fgets(str,100,f)!=NULL)
    for(find=i=0; *(str+i); i++)
    if(*(str+i)>='0' && *(str+i)<='9' || find && *(str+i)=='.')
    {
        if(!find)
        {
            find=1;
            n++;
        }
    }
    else find=0;
    fclose(f);
    printf("numbers=%d\n",n);
    getch();
    return 0;
}

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

В этом коде:

  1. Объявляются переменные:
    • FILE *f; - указатель на файл;
    • char str[100]; - строка для чтения информации из файла;
    • int i,find,n; - счётчики.
  2. Открывается файл с помощью функции fopen.
  3. Устанавливается счётчик чисел в 0.
  4. Происходит чтение файла с помощью цикла while(fgets(str,100,f)!=NULL).
  5. В каждой строке ищутся числа с помощью вложенного цикла for(find=i=0; *(str+i); i++).
  6. Если символ является числом или точкой и предыдущий символ был числом, то увеличивается счётчик чисел.
  7. Если в строке нет чисел, то сбрасывается счётчик чисел.
  8. После чтения всех строк закрывается файл с помощью функции fclose.
  9. Выводится количество чисел с помощью функции printf.
  10. Ждётся нажатия клавиши с помощью функции getch.
  11. Возвращается 0, чтобы указать, что программа успешно завершилась.

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


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

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

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