Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Напечатать строку в обратном порядке.Содержание книги Поиск на нашем сайте #include <stdio.h> #include <stdlib.h> //#include <conio.h> const int M=50; int main(){ char str[M],str1[M]; int i,c=0,b=0; printf("Введите строку:\n"); gets(str); for(i=0;(str[i]<=48||str[i]>=57)&&str[i]!='\0';i++) {} if(str[i]!=0) while(str[i]>=48&&str[i]<=57&&str[i]!='\0'||str[i]=='.') { str1[c]=str[i]; if(str[i]=='.') b=c; c++; i++; } if(!b) b=c; str1[c]='\0'; printf("Целая часть числа %s содержит %d цифр.\n",str1,b); str[0]=getch; return 0; } Пример 71. Написать функцию void check_type(int с), которая проверяет принадлежность символа 'с' к одному или нескольким из перечисленных выше типов. #include <stdio.h> #include <stdlib.h> //#include <conio.h> const int M=50; void check_type(int); int main(){ char str[M],str1[M]; int i=0; printf("Введите строку:\n"); gets(str); while(str[i]!='\0'){ check_type(str[i]); i++; } str[0]=getch; return 0; } void check_type(int c){ if(c>='0'&&c<='9') printf("%c - цифра, печатаемый символ.\n",c); else if(c>='a'&&c<='z') printf("%c - буква, строчная, печатаемый символ.\n",c); else if(c>='A'&&c<='Z') printf("%c - буква, заглавная, печатаемый символ.\n",c); else if(c>='!'&&c<='/') printf("%c - знак, печатаемый символ.\n",c); else if(c==' ') printf("%c - пробел, печатаемый символ.\n",c) else printf("%c - непечатаемый символ.\n",c); } Пример 72. Описать массив символов s и инициализировать его строкой "1234567890". динамически выделить память для копии строки. Выполнить копирование. • С помощью функции strncpy заменить в копии строки три символа. #include <stdio.h> #include <string.h> #include <stdlib.h> int main(){ char s[]="1234567890",mstr[5]; char *str=(char*)malloc(strlen(s)); str=strcpy(str,s); printf("Копия строки:\n%s\n",str); printf("Введите строку:\n"); gets(mstr); str+=3; str=strncpy(str,mstr,strlen(mstr)); str-=3; printf("Измененная строка:\n%s\n",str); free(str); return 0; } Пример 73. С клавиатуры вводятся четыре строки разной длины (не более 10 символов). Память для каждой из них выделяется динамически. Необходимо объединить эти строки их в одну. #include <stdio.h> #include <string.h> #include <stdlib.h> int main(){ char *s1=(char*)malloc(10), *s2=(char*)malloc(10), *s3=(char*)malloc(10), *s4=(char*)malloc(10); printf("Введите строку 1:\n"); gets(s1); printf("Введите строку 2:\n"); gets(s2); printf("Введите строку 3:\n"); gets(s3); printf("Введите строку 4:\n"); gets(s4); char *s=(char*)malloc(strlen(s1)+strlen(s2)+strlen(s3)+strlen(s4)); s=strcpy(s,s1); s+=strlen(s1); s=strcpy(s,s2); s+=strlen(s2); s=strcpy(s,s3); s+=strlen(s3); s=strcpy(s,s4); s-=strlen(s1)+strlen(s2)+strlen(s3); printf("%s\n",s); free(s); free(s4); free(s3); free(s2); free(s1); return 0; } Пример 74. ввести четыре символьные строки; найти среди них "наибольшую". Промежуточные результаты выводить на экран в виде сообщения типа <строка-1> "больше"/"меньше" <строка-2>. • напечатать "наибольшую" строку. #include <stdio.h> #include <string.h> #include <stdlib.h> int main(){ int a; char *s1=(char*)malloc(10),*m,*m1,*m2, *s2=(char*)malloc(10), *s3=(char*)malloc(10), *s4=(char*)malloc(10); printf("Введите строку 1:\n"); gets(s1); printf("Введите строку 2:\n"); gets(s2); printf("Введите строку 3:\n"); gets(s3); printf("Введите строку 4:\n"); gets(s4); //------------------------------------- if(strcmp(s1,s2)==0){ printf("%s равна %s\n",s1,s2); m1=s1; } else if(strcmp(s1,s2)>0){ printf("%s больше %s\n",s1,s2); m1=s1; } else{ printf("%s меньше %s\n",s1,s2); m1=s2; } //------------------------------------- if(strcmp(s3,s4)==0){ printf("%s равна %s\n",s3,s4); m2=s3; } else if(strcmp(s3,s4)>0){ printf("%s больше %s\n",s3,s4); m2=s3; } else{ printf("%s меньше %s\n",s3,s4); m2=s4; } //------------------------------------- if(strcmp(m1,m2)==0){ printf("%s равна %s\n",m1,m2); m=m1; } else if(strcmp(m1,m2)>0){ printf("%s больше %s\n",m1,m2); m=m1; } else{ printf("%s меньше %s\n",m1,m2); m=m2; } //------------------------------------- printf("Наибольшая строка:\n%s\n",m); free(s4); free(s3); free(s2); free(s1); return 0; } Пример 75. Дописать фрагмент программы, выполнить ее, пояснить текст и результаты. char * ptr; ptr = strtok (" Feb. 15, 2001 ", "./"); #include <stdio.h> #include <string.h> #include <stdlib.h> int main(){ char *ptr,str[]="Feb. 15, 2001"; ptr=strtok(str, "./"); printf("%s\n",ptr); while(ptr){ ptr=strtok(NULL,".,-/"); if(ptr) printf("%s\n",ptr); } return 0; }
Пример 76. Создать список фамилий в виде одной символьной строки. В цикле в режиме диалога вводить фамилию и выводить сообщение, есть ли такой человек в списке. #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> int main(){ char ch,s[]="1. Иванов И.И. 2. Петров П.П. 3. Сидоров С.С. 4. Александров А.А.",*str; char* s1=(char*)malloc(10); do{ printf("Введите фамилию:\n"); str=NULL; gets(s1); str=strstr(s,s1); if(str) printf("Человек найден под номером %c\n",str[-3]); else printf("Человек остутствует.\n"); printf("Повторить поиск? (y/n): "); ch=getch(); printf("\n"); } while(ch=='y'); free(s1); return 0; } Пример 77. Написать программу, в которой описать строку s. Заменить символы с третьего по пятый на "минус", а с шестого и до конца строки - на "плюс". #include <stdio.h> #include <string.h> #include <stdlib.h> int main(){ char str[]="1234567890",*s; s=str; s+=3; s=strnset(s,'-',3); s+=3; s=strset(s,'+'); s-=6; printf("%s\n",s); return 0; } Пример 78. ввести строку; с помощью функций str _ dup () и strdup () создать две копии введенной строки; вывести на экран две копии строки. #include <stdio.h> #include <string.h> #include <stdlib.h> char* str_dup(const char*); int main(){ char *s,*s_,*str=(char*)malloc(10); gets(str); s=strdup(str); s_=str_dup(str); printf("%s\n",s); printf("%s\n",s_); free(s_); free(s); free(str); return 0; } char* str_dup(const char* s){ char *s1=(char*)malloc(strlen(s)); s1=strcpy(s1,s); return s1; }
|
||
|
Последнее изменение этой страницы: 2021-08-16; просмотров: 175; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.236 (0.009 с.) |