예제 #1
0
main()
{
	int length = 50, flag = 0, result;
	char *input = malloc(length), ch;
	puts("Enter number and press return");
	scanf("%c", &ch);
	//getting input and checking for non numbers on each input
	while (ch != 10)
	{
		if (ch< 48 || ch> 57)
		{
			puts("Non number entered");
			exit(1);
		}
		input[flag++] = ch;
		if (flag == length)
		{
			length += 20;
			input = realloc(input, length);
		}
		scanf("%c", &ch);
	}
	length = flag;
	result = divisible_by_11(input, length);
	(result == 0 || result % 11 == 0) ? puts("Divisible by 11") : puts("Not Divisible by 11");
	//free(input);
	getch();
}
예제 #2
0
int divisible1(char *input)
{
	long int difference = 0;
	int i  ;
	for (i = 0;input[i];i++)
		if (i % 2 == 0)
			difference += (input[i] - '0');
		else
			difference -= (input[i] - '0');
	if (difference == 0 || difference == 11 || difference == -11)
		return 1;
	else if (difference > 0 && difference < 11 || (difference <0 && difference >-11))
		return 0;
	else
		return divisible_by_11(difference);
}
예제 #3
0
int divisible_by_11(long int number)//generic function that takes the number and finds that if it is divisible by 11
{
	int difference = 0, counter = 0;
	while (number)
	{
		if (counter % 2 == 0)
			difference += number % 10;
		else
			difference -= number % 10;
		number = number / 10;
	}
	if (difference == 0 || difference == 11 || difference == -11)
		return 1;
	else if (difference <0 && difference >-11 || (difference>0 && difference < 11))
		return 0;
	else
		return divisible_by_11(difference);
}
예제 #4
0
void main()
{
	char string_number[10000];
	int iterator = 0,result;
	printf("Enter the number\n");
	do
	{
		string_number[iterator] = getchar();
		iterator++;
	} while (string_number[iterator - 1] != '\n');
	string_number[iterator - 1] = '\0';
	result= divisible_by_11(string_number, iterator - 1);
	if (result == 1)
		printf("The given number %s is divisble by 11", string_number);
	else
		printf("The given number %s is not divisible by 11",string_number);
	getchar();
}