Поиск символа в стоке

strchr (st, ch) - функция поиска адреса символа ch в строке st. Результатом выполнения поиска является адрес найденного символа в строке st, иначе возвращается нулевой адрес. Чтобы вычислить порядковый номер символа ch в строке, можно из адреса P вычесть адрес начала строки.

Пример. В заданной фамилии определить порядковый номер символа ‘n’.

#include "stdafx.h"

#include<string.h>

int main()

{ char fam[] = "Ivanov";

char faml[20];

char a='n';

char *p;

p=strchr(fam,a);

if(p)

printf("|%s|%d\n", fam, p-fam);

else

printf("нет такого символа в фамилии!\n");

return 0;

}

Пример программы для задачи с текстовыми данными

Исходным текстом является предложение, заканчивающееся точкой. Слова в предложении отделяются друг от друга одним пробелом. Определить самое длинное слово в предложении.

#include "stdafx.h"

#include<string.h>

int main()

{ char slovo[12],x[120]; // описание строк

int i,m=0,n,k=0;

gets(x); // ввод строки х

for(i=0; i<strlen(x); i++) //цикл до конца строки х

if(x[i]!=' ') k++; // считаем символы до пробела

else

{ if (k>m){ m=k;n=i;} //поиск мах значения счетчика к

k=0;

}

k=0;

for(i=n-m;i<n;i++) //выбор из строки х самого длинного слова

slovo[k++]=x[i];

slovo[k]=0;

printf("%s \n%s\n",slovo,x); /*вывод найденного слова и всей строки х */

printf("%d %d\n",strlen(slovo),strlen(x));//вывод их длин

return 0;

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: