Практические / Пр №11.Строки
.odtПр №11. Строки.
-
Ввод вывод строк без пробелов.
-
Ввод вывод строк с одним пробелом.
-
Ввод вывод строк посимвольно.
-
Ввод вывод строк с помощью puts() и gets().
-
Инициализация строк.
-
Определение длины строки.
-
Копирование строк.
-
Сцепление строк.
-
Поиск символа в строке.
-
Поиск слова в строке.
-
Ввод строк и вывод их по возростанию.
-
Ввод вывод массива строк.
-
Инициализация и вывод массива строк.
-
Сортировка строк.
-
Домашнее задание.
//Ввод вывод строк без пробелов.
#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
Домашнее задание.
Написать программу калькулятора вычисляющего:
-
Длину 2 строк.
-
Сравнение 2 строк.
-
Упорядочение 2 строк.