Вывести текст, стоящий между двумя ":" - 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;
}