Определить, в какой строке больше цифр - C (СИ)

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

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

Посимвольно вводятся 2 строки длиной до 80 сиимволов Определить, в какой строке больше цифр: в первой или во второй Уже писал. Найдите ошибки, пожалуйста)
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
 
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
 
int main(int argc, char *argv[]) {
    setlocale(LC_ALL, "Rus");
    char gts=' ';
    int i, fst=0, sst=0, flg=0;
    printf("Введите первую строку (максимум - 79 символов:)\n");
    scanf("%c", &gts);
    while(gts!="\n")
    {
        flg=afer(gts);
        if(flg==1)
        {
            fst++;
        }
        scanf("%c", &gts);
    }
    printf("Введите вторую строку (максимум - 79 символов:)\n");
    scanf("%c", &gts);
    while(gts!="\n")
    {
        flg=afer(gts);
        if(flg==1)
        {
            fst++;
        }
        scanf("%c", &gts);
    }
    if(fst>sst)
    printf("В первой строке больше цифр");
    if(sst>fst)
    printf("Во второй строке больше цифр");
    if(sst==fst)
    printf("И в первой, и во второй строках одинаковой количество цифр");
    return 0;
}
 
int afer(char* __s)
{
    int k;
    if(__s=='0'||__s=='1'||__s=='2'||__s=='3'||__s=='4'||__s=='5'||__s=='6'||__s=='7'||__s=='8'||__s=='9')
    {
        k=1;
    }
    return(k);
}
Почему то после того, как я нажму Enter (\n), программа не выходит из цикла :-(

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

textual
Листинг программы
while(gts!='\n')

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

  1. В начале кода определена переменная gts типа char.
  2. Затем, в цикле while, происходит считывание символа из стандартного ввода (stdin) в переменную gts.
  3. Условие цикла while проверяет, что считанный символ не является символом новой строки ('\n').
  4. Если условие истинно, то происходит переход к следующей итерации цикла.
  5. Если условие ложно, то происходит выход из цикла while и выполнение программы продолжается.
  6. В данном коде не предусмотрено обработку ошибок или исключений, поэтому если ввод будет содержать только символы, отличные от цифр, то программа выдаст ошибку или завершится с ошибкой.

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


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

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

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