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

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

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

Посимвольно вводятся 2 строки длиной до 80 сиимволов Определить, в какой строке больше цифр: в первой или во второй Уже писал. Найдите ошибки, пожалуйста)
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <locale.h>
  4. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  5. int main(int argc, char *argv[]) {
  6. setlocale(LC_ALL, "Rus");
  7. char gts=' ';
  8. int i, fst=0, sst=0, flg=0;
  9. printf("Введите первую строку (максимум - 79 символов:)\n");
  10. scanf("%c", &gts);
  11. while(gts!="\n")
  12. {
  13. flg=afer(gts);
  14. if(flg==1)
  15. {
  16. fst++;
  17. }
  18. scanf("%c", &gts);
  19. }
  20. printf("Введите вторую строку (максимум - 79 символов:)\n");
  21. scanf("%c", &gts);
  22. while(gts!="\n")
  23. {
  24. flg=afer(gts);
  25. if(flg==1)
  26. {
  27. fst++;
  28. }
  29. scanf("%c", &gts);
  30. }
  31. if(fst>sst)
  32. printf("В первой строке больше цифр");
  33. if(sst>fst)
  34. printf("Во второй строке больше цифр");
  35. if(sst==fst)
  36. printf("И в первой, и во второй строках одинаковой количество цифр");
  37. return 0;
  38. }
  39. int afer(char* __s)
  40. {
  41. int k;
  42. if(__s=='0'||__s=='1'||__s=='2'||__s=='3'||__s=='4'||__s=='5'||__s=='6'||__s=='7'||__s=='8'||__s=='9')
  43. {
  44. k=1;
  45. }
  46. return(k);
  47. }
Почему то после того, как я нажму Enter (\n), программа не выходит из цикла :-(

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

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

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

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

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


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

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

12   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы