Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Ввести строки s1 и s2




1. сравнить строки и вывести ссответствующие ссообщения о результате сравнения

2. вывести строку s1 по буквам в столбик разным цветом

3. вывести строку s2 по буквам в стиле "телеграф" (с адержкой вывода и звуком)

4. вывести строку s2 по буквам, не используя strlen

5. определить количество слов в s1

6. определить количество букв в s2

7. определить количество букв О в строке s1

8. определить количество заглавных букв в s2

9. определить количество четырехбуквенных слов в s1

10. вывести строку s2 по словам. Каждое слово разным цветом

 


 


 

#include <stdlib.h>

#include <stdio.h>

 

char *delet(char *s,int pos,int n)

{

char *p1,*p2;

p1=s+pos-1;

p2=p1+n;

while(*p2) *p1++=*p2++;

*p1 = 0;

return(s);

}

void main()

{

char txt[]="Карл у Клары";

printf("\n%s\n",delet(txt,5,3));

} распечатки по теме 1


//буквы в слове

#include <stdio.h>

#include <conio.h>

#include <string.h>

 

void main()

{

int i,bukwy[256];

char stroka[80],stroka1[80],firstword[30],*p;

clrscr();

for(i=0;i<256;i++)

bukwy[i]=0;

//strcpy(stroka,"карл у клары украл кораллы а клара у карла украла кларнет");

strcpy(stroka,"qwerty werty erty rty ty y");

strcpy(stroka1,stroka);

strcpy(firstword,strtok(stroka1," "));

i=0;

while(firstword[i])

{

for(p=stroka;*p;p++)

{

// printf("%s\n",p);

if (firstword[i] == *p) bukwy[firstword[i]]++;

}

i++;

}

i=0;

while(firstword[i])

{

printf("Буква %c встpечается %d раз\n",firstword[i],bukwy[firstword[i]]);

i++;

}

getch();

}

//количество слов

#include <stdio.h>

#include <conio.h>

#include <string.h>

void main()

{

int count;

char stroka[80],*p;

clrscr();

count=1;

strcpy(stroka,"qwerty werty erty rty ty y");

for(p=stroka;*p;p++)

if(*p==' ')count++;

printf("%d\n",count);

getch();

}




Strtok

последовательность вызовов strtok (s1,s2) разбивает строку s1 на лексемы - логические куски, разделенные символами. содержащимися в строке s2. Первый вызов содержит в качестве первого аргумента s1, а последующие вызовы для продолжения обработки той же строки, содержат в качестве первого аргумента NULL. Прикаждом вызове возвращается указатель на текущую лексему. Если при вызове лексем больше нет, возвращается NULL

Пример:

p=strtok(s1," ");

while (p=strtok(NULL," ")) printf("%s\n", p);

 


Практическая работа: работа со строками (функции,аналоги в pas)


# include<stdio.h>

#include <string.h>

int length (char s1[10])

{ char s3[20];

int n;

n=strlen(s1);

return(n);

}

main()

{char s1[10], s2[10];

int pos;

char b;

gets(s1);

printf("%d",length(s1));

}

# include<stdio.h>

#include <string.h>

int pos (char s1[10], char b)

{ char s3[20];

char *p; int n;

p=strchr(s1,b);

n=p-s1+1;

return(n);

}

main()

{char s1[10], s2[10];

char b;

gets(s1);

scanf("%c",&b);

printf("%d",pos(s1,b));

}

 

# include<stdio.h>

#include <string.h>

concat (char s1[10],char s2[10])

{ char s3[20];

strcpy(s3,"");

strcat(s3,s1);

strcat(s3,s2);

puts(s3);

return(0);

}

 

delete (char s1[10],char b)

main()

{char s1[10], s2[10];

char b; int n;

gets(s1);

gets(s2);

concat(s1,s2);

}

 

# include<stdio.h>

#include <string.h>

copy (char s1[10], int pos,int n)

{ char s3[20];

char *p;

strcpy(s3,"");

//strncpy(s3,s1,pos);

p=s1+pos;

strncat(s3,p,n);

printf("%s\n",s3);

return(0);

}

main()

{char s1[10], s2[10];

int pos,n;

gets(s1);

scanf("%d", &n);

scanf("%d", &pos);

copy(s1,pos,n);

}

# include<stdio.h>

#include <string.h>

insert (char s1[10], char s2[10],int pos)

{ char s3[20];

char *p;

strncpy(s3,s1,pos);

p=s1+pos-1;

strcat(s3,s2);

strcat(s3,p+1);

printf("%s\n",s3);

return(0);

}

main()

{char s1[10], s2[10];

int pos,n;

gets(s1);

gets(s2);

scanf("%d", &pos);

insert(s1,s2,pos);

}

# include<stdio.h>

#include <string.h>

val (int n)

{ char s3[20];

sprintf(s3,"%d",n);

puts(s3);

return(0);

}

main()

{char s1[10], s2[10];

int n;

scanf("%d", &n);

val(n);

}

 

# include<stdio.h>

# include <stdlib.h>

#include <string.h>

val (int n)

{ char s3[20];

itoa(n,s3,10);

puts(s3);

return(0);

}

main()

{char s1[10], s2[10];

int n;

scanf("%d", &n);

val(n);

}

 

# include<stdio.h>

# include <stdlib.h>

#include <string.h>

str (char s1[10])

{

int n;

n=atoi(s1);

printf("%d",n);

return(0);

}

main()

{char s1[10], s2[10];

scanf("%s", s1);

str(s1);

}

 


 

Пример:

for (i=0;i<32;i++) printf("%o-%d \n", i,i);

# include <stdio.h>

# include <string.h>

# include <dos.h>

# include <conio.h>

main()

{

clrscr();

char s1[25],s2[25],sd[10],sk[10];

char *p;

int i,dl,dk,nd,nk;

char ch;

printf("введите строку\n");

//gets(s1);

strcpy(s1,"мама мыла раму васечка");

strcpy(s2,s1);

strcpy(sd,"");

strcpy(sk,"");

//вывод строки по буквам в стиле "телеграф"

for(i=0;i<strlen(s1);i++) {delay (100);printf("%c \a",s1[i]);}

//разрезание строки по словам

p=strtok(s1," ");

dl=dk=strlen(p);

nd=nk=0;

while (p=strtok(NULL," "))

{

if (strlen(p)>=dl) {dl=strlen(p);strcpy(sd,p);}

if (strlen(p)<=dk) {dk=strlen(p);strcpy(sk,p);}

printf("%s\n", p);

}

textcolor(5);

cprintf("длинное %d - %s\n", dl,sd);

//textcolor(1);

cprintf("короткое %d - %s\n", dk, sk);

//печать в разных форматах o-8ми ричн; x-6ричн;c-символы;

//for (i=64;i<92;i++) printf("%d-%c \n", i,i);

getchar();

}

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных