ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Ввести строки s1 и s21. сравнить строки и вывести ссответствующие ссообщения о результате сравнения 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(); }
Не нашли, что искали? Воспользуйтесь поиском:
|