ex00

#include<unistd.h>

void	name(char *str)

{
	int	a;

	a = 0;
	while (str[a] != '\0')
	{
		write(1, &str[a], 1);
		a++;
	}
}

int	main(int argc, char **argv)
{
	int	i;

	i = 0;
	if (argc > 0)
	{
		name(argv[0]);
		write(1, "\n", 1);
	}
	return (0);
}

ex01

#include<unistd.h>

int	name(char *str)

{
	int	i;

	i = 0;
	while (str[i] != '\0')
	{
		write (1, &str[i], 1);
		i++;
	}
	write(1, "\n", 1);
	return (0);
}

int	main(int argc, char **argv)

{
	int	i;

	i = 1;
	if (argc > 1)
	{
		while (i < argc)
		{
			name(argv[i]);
			i++;
		}
	}
	return (0);
}

ex02

#include<unistd.h>

void	name(char *str)

{
	int	a;

	a = 0;
	while (str[a] != '\0')
	{
		write(1, &str[a], 1);
		a++;
	}
}

int	main(int argc, char **argv)

{
	int	i;

	i = argc - 1;
	if (argc > 1)
	{
		while (i > 0)
		{
			name(argv[i]);
			write (1, "\n", 1);
			i--;
		}
	}
	return (0);
}

ex03

#include<unistd.h>

void	main_putstr(char *str)
{
	int	i;

	i = 0;
	while (str[i] != '\0')
	{
		write(1, &str[i], 1);
		i++;
	}
}

int	main_strcmp(char *s1, char *s2)
{
	int	i;

	i = 0;
	while ((*(s1 + i) || *(s2 + i)) && (*(s1 + i) == *(s2 + i)))
	{
		i++;
	}
	if (*(s1 + i) > *(s2 + i))
		return ((int)*(s1 + i) - (int)*(s2 + i));
	return (0);
}

void	main_swap(char **a, char **b)
{
	char	*c;

	c = *a;
	*a = *b;
	*b = c;
}

int	main(int argc, char **argv)
{
	int	i;
	int	j;

	i = 1;
	while (i < argc)
	{
		j = i + 1;
		while (j < argc)
		{
			if (main_strcmp(argv[i], argv[j]) > 0)
				main_swap(&argv[i], &argv[j]);
			j++;
		}
		i++;
	}
	i = 1;
	while (argv[i])
	{
		main_putstr(argv[i]);
		write(1, "\n", 1);
		i++;
	}
	return (0);
}
#include<unistd.h>

void	main_putstr(char *str)
{
	int	i;

	i = 0;
	while (str[i] != '\0')
	{
		write(1, &str[i], 1);
		i++;
	}
}

int	main_strcmp(char *s1, char *s2)
{
	int	i;

	i = 0;
	while ((*(s1 + i) || *(s2 + i)) && (*(s1 + i) == *(s2 + i)))
	{
		i++;
	}
	if (*(s1 + i) > *(s2 + i))
		return ((int)*(s1 + i) - (int)*(s2 + i));
	return (0);
}

void	main_swap(char **a, char **b)
{
	char	*c;

	c = *a;
	*a = *b;
	*b = c;
}

int	main(int argc, char **argv)
{
	int	i;
	int	j;

	i = 1;
	while (i < argc)
	{
		j = i + 1;
		while (j < argc)
		{
			if (main_strcmp(argv[i], argv[j]) > 0)
				main_swap(&argv[i], &argv[j]);
			j++;
		}
		i++;
	}
	i = 1;
	while (argv[i])
	{
		main_putstr(argv[i]);
		write(1, "\n", 1);
		i++;
	}
	return (0);
}
#include<unistd.h>

void	main_putstr(char *str)
{
	int	i;

	i = 0;
	while (str[i] != '\0')
	{
		write(1, &str[i], 1);
		i++;
	}
}

int	main_strcmp(char *s1, char *s2)
{
	int	i;

	i = 0;
	while ((*(s1 + i) || *(s2 + i)) && (*(s1 + i) == *(s2 + i)))
	{
		i++;
	}
	if (*(s1 + i) > *(s2 + i))
		return ((int)*(s1 + i) - (int)*(s2 + i));
	return (0);
}

void	main_swap(char **a, char **b)
{
	char	*c;

	c = *a;
	*a = *b;
	*b = c;
}

int	main(int argc, char **argv)
{
	int	i;
	int	j;

	i = 1;
	while (i < argc)
	{
		j = i + 1;
		while (j < argc)
		{
			if (main_strcmp(argv[i], argv[j]) > 0)
				main_swap(&argv[i], &argv[j]);
			j++;
		}
		i++;
	}
	i = 1;
	while (argv[i])
	{
		main_putstr(argv[i]);
		write(1, "\n", 1);
		i++;
	}
	return (0);
}