Skip to content

Commit 72a3ea7

Browse files
committed
Programs using Functions
1 parent f40fe64 commit 72a3ea7

36 files changed

+1127
-0
lines changed

3_Functions/Add_without+.c

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
//program for adding two numbers without using + operator
2+
3+
#include <stdio.h>
4+
5+
int Add(int a, int b)
6+
{
7+
int max, min, carry;
8+
9+
max = (a > b) ? a : b;
10+
min = (a > b) ? b : a;
11+
while (max != 0)
12+
{
13+
carry = min & max;
14+
min = min ^ max;
15+
max = carry << 1;
16+
}
17+
return min;
18+
}
19+
int main(void)
20+
{
21+
int n1, n2;
22+
23+
printf("Enter any two numbers : ");
24+
scanf("%d%d", &n1, &n2);
25+
26+
printf("%d + %d is = %d", n1, n2, Add(n1, n2));
27+
28+
return 0;
29+
}

3_Functions/BaseConvertor.c

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#include <stdio.h>
2+
#include <stdlib.h>
3+
4+
void convert(int, int);
5+
void main()
6+
{
7+
int num, base;
8+
printf("Enter a positive decimal number:\n");
9+
scanf("%d", &num);
10+
if (num < 0)
11+
exit(0);
12+
printf("Enter the Base:\n");
13+
scanf("%d", &base);
14+
printf("\n %d in %d base is:\n", num, base);
15+
convert(num, base);
16+
}
17+
void convert(int n, int base)
18+
{
19+
int rem = n % base;
20+
if (n == 0)
21+
return;
22+
convert(n / base, base);
23+
if (rem < 10)
24+
printf("%d", rem);
25+
else
26+
printf("%c", rem - 10 + 'A');
27+
}

3_Functions/Binary.c

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#include <stdio.h>
2+
3+
long int binary(int);
4+
int main(void)
5+
{
6+
int num;
7+
8+
printf("Enter a number : ");
9+
scanf("%d", &num);
10+
printf("Decimal = %d\nBinary = %ld", num, binary(num));
11+
return 0;
12+
}
13+
long int binary(int n)
14+
{
15+
long a = 1, bin = 0, rem;
16+
17+
while (n > 0)
18+
{
19+
rem = n % 2;
20+
bin = bin + rem * a;
21+
n /= 2;
22+
a *= 10;
23+
}
24+
return bin;
25+
}

3_Functions/Checkprime_number.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#include <stdio.h>
2+
#include <math.h>
3+
4+
int isPrime(long int);
5+
6+
int main(void)
7+
{
8+
int num;
9+
10+
printf("Enter a number : ");
11+
scanf("%ld", &num);
12+
13+
if (isPrime(num))
14+
printf("Number is prime..");
15+
else
16+
printf("Number is not prime..");
17+
}
18+
int isPrime(long int n)
19+
{
20+
int i;
21+
22+
for (i = 2; i < sqrt(n); i++)
23+
if (n % i == 0)
24+
return 0;
25+
return 1;
26+
}

3_Functions/DivisibleBy9and11.c

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#include <stdio.h>
2+
3+
int divisibleBy9(long int n)
4+
{
5+
int sumofdigits;
6+
if (n == 9)
7+
return 1;
8+
if (n < 9)
9+
return 0;
10+
sumofdigits = 0;
11+
while (n > 0)
12+
{
13+
sumofdigits += n % 10;
14+
n /= 10;
15+
}
16+
divisibleBy9(sumofdigits);
17+
}
18+
int divisibleBy11(long int n)
19+
{
20+
int s1 = 0, s2 = 0, diff;
21+
if (n == 0)
22+
return 1;
23+
if (n < 10)
24+
return 0;
25+
while (n > 0)
26+
{
27+
s1 += n % 10;
28+
n /= 10;
29+
s2 += n % 10;
30+
n /= 10;
31+
}
32+
diff = s1 > s2 ? (s1 - s2) : (s2 - s1);
33+
divisibleBy11(diff);
34+
}
35+
void main()
36+
{
37+
long int num;
38+
printf("Enter any number:\n");
39+
scanf("%ld", &num);
40+
if (divisibleBy9(num))
41+
printf("%ld is Divisible By 9\n", num);
42+
if (divisibleBy11(num))
43+
printf("%ld is Divisible By 11\n", num);
44+
else
45+
printf("%d is not Divisible By 9 or 11\n", num);
46+
}

3_Functions/Even_without%.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#include <stdio.h>
2+
3+
int isEven(int n)
4+
{
5+
if (n & 1)
6+
return 0;
7+
return 1;
8+
}
9+
int main(void)
10+
{
11+
int num;
12+
13+
printf("Enter any number : ");
14+
scanf("%d", &num);
15+
if (isEven(num))
16+
printf("%d is Even\n", num);
17+
else
18+
printf("%d is Odd\n", num);
19+
return 0;
20+
}

3_Functions/GCD.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#include <stdio.h>
2+
3+
void main()
4+
{
5+
void fun_gcd(unsigned int, unsigned int);
6+
unsigned int j, k;
7+
8+
printf("Enter two numbers:\n");
9+
scanf("%u%u", &j, &k);
10+
fun_gcd(j, k);
11+
}
12+
13+
void fun_gcd(unsigned int a, unsigned int b)
14+
{
15+
unsigned int d, r;
16+
d = a / b;
17+
r = a - d * b;
18+
a = b;
19+
if (r == 0)
20+
printf("Greatest Common Divisor =%d", b);
21+
else
22+
{
23+
b = r;
24+
fun_gcd(a, b);
25+
}
26+
}

3_Functions/PFactors.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#include <stdio.h>
2+
void PFactor(int num)
3+
{
4+
int i = 2;
5+
if (num == 1)
6+
return;
7+
if (num % i != 0)
8+
i++;
9+
printf("%d\t", i);
10+
PFactor(num / i);
11+
}
12+
void main()
13+
{
14+
int num;
15+
printf("Enter a number:\n");
16+
scanf("%d", &num);
17+
printf("Prime Factors of %d are:\n\n", num);
18+
PFactor(num);
19+
}

3_Functions/Pascals_triangle.c

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#include <stdio.h>
2+
3+
long factorial(int);
4+
long comb(int, int);
5+
int main(void)
6+
{
7+
int i, j, k;
8+
9+
printf("Enter number of rows of pascal's triangle : ");
10+
scanf("%d", &k);
11+
for (i = 0; i < k; i++)
12+
{
13+
for (j = 0; j <= i; j++)
14+
printf("%5ld", comb(i, j));
15+
printf("\n");
16+
}
17+
return 0;
18+
}
19+
long comb(int n, int r)
20+
{
21+
long c;
22+
c = factorial(n) / (factorial(r) * factorial(n - r));
23+
return c;
24+
}
25+
long int factorial(int n)
26+
{
27+
int i;
28+
long int fact = 1;
29+
if (n == 0)
30+
return 1;
31+
for (i = n; i > 1; i--)
32+
fact *= i;
33+
return fact;
34+
}

3_Functions/Reverse_number.c

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#include <stdio.h>
2+
3+
int reverse(int);
4+
int main(void)
5+
{
6+
int num;
7+
printf("Enter a number : ");
8+
scanf("%d", &num);
9+
printf("Reverse : %d ", reverse(num));
10+
}
11+
12+
int reverse(int n)
13+
{
14+
int rev = 0;
15+
do
16+
{
17+
rev = rev * 10 + n % 10;
18+
n /= 10;
19+
} while (n > 0);
20+
return rev;
21+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#include <stdio.h>
2+
3+
int isPalindrome(long int);
4+
long int reverse(long int);
5+
int main(void)
6+
{
7+
int num;
8+
printf("Enter a number : ");
9+
scanf("%ld", &num);
10+
printf("Reverse : %ld \n", reverse(num));
11+
if (isPalindrome(num))
12+
printf("Number is palindrome..");
13+
else
14+
printf("Number is not palindrome..");
15+
}
16+
int isPalindrome(long int n)
17+
{
18+
if (n == reverse(n))
19+
return 1;
20+
return 0;
21+
}
22+
23+
long int reverse(long int n)
24+
{
25+
long int rev = 0;
26+
do
27+
{
28+
rev = rev * 10 + n % 10;
29+
n /= 10;
30+
} while (n > 0);
31+
return rev;
32+
}

3_Functions/Roman_numbers.c

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#include <stdio.h>
2+
3+
int roman(int, int, char);
4+
int main(void)
5+
{
6+
int num;
7+
8+
printf("Enter a number : ");
9+
scanf("%d", &num);
10+
if (num >= 1000)
11+
num = roman(num, 1000, 'm');
12+
if (num >= 500)
13+
num = roman(num, 500, 'd');
14+
if (num >= 100)
15+
num = roman(num, 100, 'c');
16+
if (num >= 50)
17+
num = roman(num, 50, 'l');
18+
if (num >= 10)
19+
num = roman(num, 10, 'x');
20+
if (num >= 5)
21+
num = roman(num, 5, 'v');
22+
if (num >= 1)
23+
roman(num, 1, 'i');
24+
printf("\n");
25+
return 0;
26+
}
27+
int roman(int n, int k, char c)
28+
{
29+
if (n == 9)
30+
{
31+
printf("ix");
32+
return 0;
33+
}
34+
if (n == 4)
35+
{
36+
printf("iv");
37+
return 0;
38+
}
39+
while (n >= k)
40+
{
41+
printf("%c", c);
42+
n = n - k;
43+
}
44+
return n;
45+
}

3_Functions/Square_root.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//program for find square root of a given number
2+
3+
#include <stdio.h>
4+
5+
int square_root(int n)
6+
{
7+
int i = 1, result = 0;
8+
9+
while (result <= n)
10+
{
11+
i++;
12+
result = i * i;
13+
}
14+
return i - 1;
15+
}
16+
17+
int main(void)
18+
{
19+
int num;
20+
21+
printf("Enter any number : ");
22+
scanf("%d", &num);
23+
24+
printf("Square Root of %d is = %d ", num, square_root(num));
25+
return 0;
26+
}

0 commit comments

Comments
 (0)