Определить количество слов, оканчивающихся на букву "р" - C (СИ)

  1. Нужно решить задачу: С клавиатуры вводится предложение. Написать программу, определяющую количество слов, оканчивающихся на букву "р" (русская). Собственно алгоритм понятен: счиваем строку и в цикле проверяем текущий символ и следующий, если они соотвественно равны "р" и " ", то увеличиваем счётчик. Проблема работы со строками на чистом Си(!). Как нужно правильно объявлять строку как массив символов, как её считывать, и как обращаться к символам в строке. Спасибо!


textual

Код:

#include <stdio.h>
#include <string.h>
 
#define DELIM " \t\n,."
 
int main(void)
{
   char s[] = "Hellop world worp, dasd";
   char *p;
   size_t cnt = 0;
   
   for ( p = strtok (s, DELIM); p ; p = strtok(NULL, DELIM) )
      if ( p[strlen(p) - 1] == 'p' )
         ++cnt;
   printf ("%d\n", cnt);
}


Похожие ответы
  1. Задана последовательность из N вещественных чисел. Определить сколько чисел меньше K, равно K и больше K. (массив random )

  1. Нужно задать строку из букв, цифр и так далее и сделать так, чтобы программа вывела на экран каких гласных букв нет в этой строке. Помогите либо начать, либо направьте где можно почитать про это, на форуме может кто видел подобные задания? Заранее спасибо!

  1. Нужно что бы он считал количество заглавных буквC1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include #include #include #include void main() {     char s[250];     int i, kol = 0, kol1 = 0, j;     puts("Enter string");     fgets(s, 250, stdin); ("%s", s);     i = 0;     j = 0;     for (i = 0; i

  1. Помогите пожалуйста. Использовать стандартные функции и арифметические операторы; изучить операторы отношения и присваивания, логические операции, условный оператор и оператор-переключатель; научиться использовать в программах операторы цикла. Написать программы на изученные темы. Определить, сколько цифр содержит заданное целое число и имеются ли в нем повторяющиеся цифры.

  1. Решить эту задачу используя простейшие структуры данных Определить количество слов, у которых первый и последний симво-лы совпадают между собой.

  1. Ни как не могу доделать кусочек лабы , буду признателен за помощь ) Даны вещественные числа x , y . Определить принадлежит ли точка с координатами (x;y) заштрихованной плоскости. Картинка к задаче :

  1. Заполнить одномерный массив вводом с клавиатуры. Выяснить верно ли что сумма элементов массива есть чётное число.

  1. Написала программу, она компилируется, но не даёт результат (текстовые файлы я создала). Помогите, пожалуйста C++1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #include #include #include FILE *f, *f1; int main() {int x, q=0,  sum=0; double l; f=fopen("D:\\TextFile", "rt"); f1=fopen("D:\\rez", "wt"); if(f == NULL)         {           printf("Problems");           system("pause");           return 1;         } if (fscanf(f,"%d",&x)>0)   {sum+=x; q+=1; l=sum/q; }     fprintf(f1," %3lf",l); fclose(f); fclose(f1);   return 0; }

  1. Я написала программу с двумя элементами ввода массивов, но результат выводит не неверный и после выбора ручного ввода программа вылетает. Помогите пожалуйстаC1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 #include #include #include #include #include #include #define N 500 #define MIN 80 int main(void) { setlocale (0, "rus"); int a[N],n,i, min=a[0], nummin=0, sum=0, nol=0, k; srand((unsigned)time(NULL)); printf ( " Определите характер заполнения: 1- автоматическое, 2- вручную"); printf("\n"); scanf("%d",&k);   switch(k) { case 1: { printf("vvedite n - "); scanf("%d",&n); for (i=0; ia[i])           {               printf("\n");               min=a[i];              nummin=i;}         for (i=nummin+1; i