#include <stdio.h>
#include <string.h>
#include <stdarg.h>

void mprintf(char *format, ...){
	va_list data;
	char c;
	int d;
	char d_string[10];
	char *s;
	int i=0, j=0;

	va_start(data, format);

	while (format[i]){
		if (format[i]=='%'){
			i++;
			switch (format[i]){
			case 'd':
				d=va_arg(data,int);
				itoa(d, d_string, 10);
				j=0;
				while((j<10) && d_string[j]) putchar(d_string[j++]);
				break;
			case 'c':
				c=va_arg(data,char);
				putchar(c);
				break;
			case 's':
				j=0;
				s=va_arg(data, char*);
				while(s[j]) putchar(s[j++]);
				break;
			case '%':
				putchar('%');
				break;
			};
		}
		else putchar(format[i]);
		i++;
	};
	va_end(data);
};
