Вывести текст, стоящий между двумя ":" - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет, вот код на паскаль:
uses crt;
var s,c:string;
b:boolean;
i:integer;
begin
clrscr;
Writeln('Vvedite stroku');
Readln(s);
b:=false;
c:='';
for i:=1 to length(s) do begin
if (s[i]=':') then if (b=false) then b:=true else Break;;
if (b=true) and (s[i]<>':')then c:=c+s[i];
end;
writeln(c);
readkey;
end.
Програма выводит текст, стоящий между двумя ":" , как правильно записать на Си? Вот все, что у меня получилось:
#include <stdio.h>
#include <string.h>
 
#define true 1
#define false 0
 
int main(void)
{
    char s[80 + 1], c[80 + 1];
    int i, b;
 
    system("cls");
 
    printf("vvedit stroky:\n");
    scanf("%s", &s);
 
    b = false;
    c = '\0';
    
    for(i = 0; i < strlen(s); i++)  
    {
        if(s[i] == ':') 
            if (b == false) 
                b = true
                else break;;
    if ((b == true) && (s[i] != ':'))
        c[i] = c[i] + s[i];
    }
    printf("%s", c[i]);
getch();
}
Заранее спасибо)

Решение задачи: «Вывести текст, стоящий между двумя ":"»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int main(void) {
    char s[] = "any:many:money:more", * p, * t;
    
    for ( p = s; t = strsep(&p, ":"); )
        printf("%s\n", t);
        
    return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.286 из 5
Похожие ответы