Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические / Пр №11.Строки

.odt
Скачиваний:
6
Добавлен:
17.04.2015
Размер:
18.57 Кб
Скачать

Пр №11. Строки.

      1. Ввод вывод строк без пробелов.

      2. Ввод вывод строк с одним пробелом.

      3. Ввод вывод строк посимвольно.

      4. Ввод вывод строк с помощью puts() и gets().

      5. Инициализация строк.

      6. Определение длины строки.

      7. Копирование строк.

      8. Сцепление строк.

      9. Поиск символа в строке.

      10. Поиск слова в строке.

      11. Ввод строк и вывод их по возростанию.

      12. Ввод вывод массива строк.

      13. Инициализация и вывод массива строк.

      14. Сортировка строк.

      15. Домашнее задание.

//Ввод вывод строк без пробелов.

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

int main()

{

char Name[50];

printf("Как тебя зовут? ");

scanf("%s", Name);

printf("Привет, %s!", Name);

system("pause");

return 0;

}

//Как тебя зовут?

// Вася

// Привет, Вася

//Ввод вывод строк. С одним пробелом.

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

int main()

{

char Name[50],Name1[10];

printf("Как тебя зовут? ");

scanf("%s", Name);

scanf("%s",Name1);

printf("Привет, %s ", Name);

printf("%s!", Name1);

system("pause");

return 0;

}

//Как тебя зовут?

// Вася Иванов

// Привет, Вася Иванов!

//Ввод вывод строк.

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

int main()

{

char a[80];

int i;

char st[10]=" Привет";

char c;

puts("Как тебя зовут?");

i = -1;

do{

c=getchar();

i++;

a[i]=c;}

while (c != '!' );

i++;

a[i]='\0';

puts(st);

puts ( a );

system("pause");

return 0;

}

//Как тебя зовут?

// Вася

// Привет, Вася

// Ввод вывод с помощью puts() è gets()

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

int main()

{

char Name[50];

printf("Как тебя зовут? ");

gets(Name);

printf("Привет'' , %s");

puts(Name);

system("pause");

return 0;

}

//Как тебя зовут?

// Вася

// Привет, Вася

//Инициализация строк.

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

int main()

{

char Name[10]="Привет, ",Name1[10]={"Вася! "};

puts(Name);

puts(Name1);

puts(Name2);

system("pause");

return 0;

}

// Привет, Вася!

//Определение длины строки.

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

#include<string.h>

int main()

{

char Name[50];

int k;

printf("Как тебя зовут? ");

scanf("%s", Name);

printf("Привет, %s!", Name);

k=strlen(Name);

printf("Длина твоего имени= %i символов\n",k);

system("pause");

return 0;

}

//Как тебя зовут?

// Вася.

// Привет, Вася!

// Длина твоего имени = 4 символам.

//Копирование строк.

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

int main()

{

char s1[50], s2[10];

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

gets(s1);

strcpy ( s2, s1); // s2 (приемник) <- s1 (источник)

puts ( s2 );

system("pause");

return 0;

}

// Вася

// Вася

//Сцепление строк.

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

int main()

{

char Name[50],Name1[10];

printf("Как тебя зовут? ");

gets(Name);

printf("Как твоя фамилия? ");

gets(Name1);

printf("Привет, %s");

strcat(Name,Name1);

puts(Name);

system("pause");

return 0;

}

//Как тебя зовут?

// Вася

//Как твоя фамилия?

//Пупкин

// Привет, Вася Пупкин

//Поиск символа в строке.

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

int main()

{

int k=0;

char s[80] = "Прошла зима, настало лето, спасибо партии за это.";

int i=0;

while (s[i]!='\0'){

if(s[i]=='о')k++; i++;}

printf ( "Количество букв о в строке == %i", k);

system("pause");

return 0;

}

//Количество букв О == 5

//Поиск символа в строке.

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

#include<string.h>

int main()

{

int k=0;

char s[] = "Прошла зима, настало лето, спасибо партии за это.";

int i=0;

char *p;

p=strrchr(s,'а');

k=p-s;

printf ( "Номер символа в строке == %i", k);

system("pause");

return 0;

}

//Номер символа в строке 43

//Поиск слова в строке

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

int main()

{

int k=0; char *p;

char s[80] = "Прошла зима, настало лето, спасибо партии за это.";

char w[10]="за";

p=strstr(s,w);

k=p-s;

printf("k=%i W= %s \n ",k,w);

system("pause");

return 0;

}

// 42

//Ввести две строки и вывести их по возростанию.

#include <stdio.h>

#include <string.h>

main()

{

char s1[80], s2[80],c;

printf ("Введите первую строку");

gets(s1);

printf ("Введите вторую строку");

gets(s2);

if ( strcmp(s1,s2) <= 0 )

printf("%s\n%s", s1, s2);

else printf("%s\n%s", s2, s1);

c=getchar();

return 0;

}

//папа

//мама

//мама

//папа

//Ввод вывод массива строк

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

int main()

{

const int n=5;

int j,i;

char c;

char mas[n][10],st[10];

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

{scanf("%s",st);

strcpy(mas[i],st);}

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

{strcpy(st,mas[5-i]);

printf("%s\n",st);}

system("pause");

return 0;

}

мама

папа

саша

петя

вася

вася

петя

саша

папа

мама

//Инициализация и вывод массива строк

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

int main()

{

const int n=5;

int j,i;

char c;

char mas[n][10]={"Sasa","Papa","Mama","Wasa","Gena"};

for (i=n; i>=0; i--)

printf("%s\n",mas[i]);

system("pause");

return 0;

}

//Сортировка строк

#include <stdio.h>

#include <string.h>

int main()

{

int j,i,n;

int len1, len2, z=1;

char *buf,c;

char *mas[]={"poned","vtornik","creda","thetverg","pjatniza"};

n=4;

// for (i=0; i<n; i++)

// scanf("%s",mas[i]);

int k;

for (i=0; i<n-1; i++)

for (k=0; k<n-1; k++)

if (strcmp(mas[k],mas[k+1])>0)

{

buf = mas[k];

mas[k] = mas[k+1];

mas[k+1] = buf;

}

for(i=0;i<n;i++){

printf("%s",mas[i]);

printf("\n");

}

c=getchar();

return 0;

}

creda

poned

thetverg

vtornik

Домашнее задание.

Написать программу калькулятора вычисляющего:

    1. Длину 2 строк.

    2. Сравнение 2 строк.

    3. Упорядочение 2 строк.