0% found this document useful (0 votes)
4 views10 pages

C Programming Problem Solving Guide

basic c program

Uploaded by

gyanendra gautam
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views10 pages

C Programming Problem Solving Guide

basic c program

Uploaded by

gyanendra gautam
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Problem Solving Using C

1. Write a C program to find the diameter, circumference, and area of a circle using functions.

#include <stdio.h>
#define PI 3.14159
void calculateCircle(float radius) {
printf("Diameter: %.2f\n", 2 * radius);
printf("Circumference: %.2f\n", 2 * PI * radius);
printf("Area: %.2f\n", PI * radius * radius);
}
int main() {
float radius;
printf("Enter radius: ");
scanf("%f", &radius);
calculateCircle(radius);
return 0;
}

2. Write a C program to find the maximum and minimum between two numbers using functions.

#include <stdio.h>
void findMaxMin(int a, int b) {
printf("Maximum: %d\n", (a > b) ? a : b);
printf("Minimum: %d\n", (a < b) ? a : b);
}
int main() {
int a, b;
printf("Enter two numbers: ");
scanf("%d %d", &a, &b);
findMaxMin(a, b);
return 0;
}

3. Write a C program to check whether a number is even or odd using functions.

#include <stdio.h>
void checkEvenOdd(int num) {
printf("%d is %s\n", num, (num % 2 == 0) ? "Even" : "Odd");
}
int main() {
int num;
printf("Enter a number: ");
scanf("%d", &num);
checkEvenOdd(num);
return 0;
}

4. Write a C program to check whether a number is prime, Armstrong, or perfect using functions.

#include <stdio.h>
#include <math.h>
int isPrime(int n) {
if (n < 2) return 0;
for (int i = 2; i <= sqrt(n); i++)
if (n % i == 0) return 0;
return 1;
}
int isArmstrong(int n) {
int sum = 0, temp = n, digits = log10(n) + 1;
while (temp) {
sum += pow(temp % 10, digits);
temp /= 10;
}
return sum = = n;
}
int isPerfect(int n) {
int sum = 0;
for (int i = 1; i < n; i++)
if (n % i = = 0) sum += i;
return sum = = n;
}
int main() {
int n;
printf("Enter a number: ");
scanf("%d", &n);
if (isPrime(n)) printf("%d is a Prime number\n", n);
if (isArmstrong(n)) printf("%d is an Armstrong number\n", n);
if (isPerfect(n)) printf("%d is a Perfect number\n", n);
return 0;
}

5. Write a C program to find all prime numbers within a given interval using functions.

#include <stdio.h>
#include <math.h>

int isPrime(int n) {
if (n < 2) return 0;
for (int i = 2; i <= sqrt(n); i++)
if (n % i == 0) return 0;
return 1;
}

void findPrimes(int low, int high) {


printf("Prime numbers: ");
for (int i = low; i <= high; i++)
if (isPrime(i)) printf("%d ", i);
printf("\n");
}
int main() {
int low, high;
printf("Enter range (low high): ");
scanf("%d %d", &low, &high);
findPrimes(low, high);
return 0;
}

6. Write a C program to find all strong numbers within a given interval using functions.

#include <stdio.h>
int factorial(int n) {
return (n == 0 || n == 1) ? 1 : n * factorial(n - 1);
}

int isStrong(int n) {
int sum = 0, temp = n;
while (temp) {
sum += factorial(temp % 10);
temp /= 10;
}
return sum == n;
}
void findStrongNumbers(int low, int high) {
printf("Strong numbers: ");
for (int i = low; i <= high; i++)
if (isStrong(i)) printf("%d ", i);
printf("\n");
}
int main() {
int low, high;
printf("Enter range (low high): ");
scanf("%d %d", &low, &high);
findStrongNumbers(low, high);
return 0;
}
7. Write a C program to print all Armstrong numbers within a given interval using functions.

#include <stdio.h>
#include <math.h>
int isArmstrong(int n) {
int sum = 0, temp = n, digits = log10(n) + 1;
while (temp) {
sum += pow(temp % 10, digits);
temp /= 10;
}
return sum == n;
}
void findArmstrongNumbers(int low, int high) {
printf("Armstrong numbers: ");
for (int i = low; i <= high; i++)
if (isArmstrong(i)) printf("%d ", i);
printf("\n");
}
int main() {
int low, high;
printf("Enter range (low high): ");
scanf("%d %d", &low, &high);
findArmstrongNumbers(low, high);
return 0;
}

8. Write a C program to print all perfect numbers within a given interval using functions.

#include <stdio.h>

int isPerfect(int n) {
int sum = 0;
for (int i = 1; i < n; i++)
if (n % i == 0) sum += i;
return sum == n;
}

void findPerfectNumbers(int low, int high) {


printf("Perfect numbers: ");
for (int i = low; i <= high; i++)
if (isPerfect(i)) printf("%d ", i);
printf("\n");
}
int main() {
int low, high;
printf("Enter range (low high): ");
scanf("%d %d", &low, &high);
findPerfectNumbers(low, high);
return 0;
}

9. Write a C program to find the power of any number using recursion.

#include <stdio.h>
int power(int base, int exp) {
if (exp == 0) return 1;
return base * power(base, exp - 1);
}
int main() {
int base, exp;
printf("Enter base and exponent: ");
scanf("%d %d", &base, &exp);
printf("%d^%d = %d\n", base, exp, power(base, exp));
return 0;
}

10. Write a C program to print all natural numbers between 1 to n using recursion.

#include <stdio.h>
void printNaturalNumbers(int n) {
if (n == 0) return;
printNaturalNumbers(n - 1);
printf("%d ", n);
}
int main() {
int n;
printf("Enter n: ");
scanf("%d", &n);
printf("Natural numbers: ");
printNaturalNumbers(n);
printf("\n");
return 0;
}

11. Write a C program to print all even or odd numbers in a given range using recursion.

.#include <stdio.h>
void printEvenOdd(int low, int high, int even) {
if (low > high) return;
if ((low % 2 == 0) == even) printf("%d ", low);
printEvenOdd(low + 1, high, even);
}

int main() {
int low, high, choice;
printf("Enter range (low high): ");
scanf("%d %d", &low, &high);
printf("Press 1 for even, 0 for odd: ");
scanf("%d", &choice);
printf(choice ? "Even numbers: " : "Odd numbers: ");
printEvenOdd(low, high, choice);
printf("\n");
return 0;
}

12. Write a C program to find the sum of all natural numbers between 1 to n using recursion.

#include <stdio.h>
int sumNaturalNumbers(int n) {
return (n == 0) ? 0 : n + sumNaturalNumbers(n - 1);
}
int main() {
int n;
printf("Enter n: ");
scanf("%d", &n);
printf("Sum of natural numbers: %d\n", sumNaturalNumbers(n));
return 0;
}

13. Write a C program to find the sum of all even or odd numbers in a given range using recursion.

#include <stdio.h>
int sumEvenOdd(int low, int high, int even) {
if (low > high) return 0;
return ((low % 2 == 0) == even ? low : 0) + sumEvenOdd(low + 1, high, even);
}
int main() {
int low, high, choice;
printf("Enter range (low high): ");
scanf("%d %d", &low, &high);
printf("Press 1 for even sum, 0 for odd sum: ");
scanf("%d", &choice);
printf("Sum: %d\n", sumEvenOdd(low, high, choice));
return 0;
}
14. Write a C program to find the reverse of any number using recursion.

#include <stdio.h>
int reverseNumber(int n, int rev) {
if (n == 0) return rev;
return reverseNumber(n / 10, rev * 10 + n % 10);
}
int main() {
int n;
printf("Enter a number: ");
scanf("%d", &n);
printf("Reversed number: %d\n", reverseNumber(n, 0));
return 0;
}

15. Write a C program to check whether a number is a palindrome or not using recursion.

#include <stdio.h>
int reverseNumber(int n, int rev) {
if (n == 0) return rev;
return reverseNumber(n / 10, rev * 10 + n % 10);
}
int isPalindrome(int n) {
return n == reverseNumber(n, 0);
}
int main() {
int n;
printf("Enter a number: ");
scanf("%d", &n);
if (isPalindrome(n))
printf("%d is a Palindrome number.\n", n);
else
printf("%d is not a Palindrome number.\n", n);
return 0;
}

16. Write a C program to find the sum of the digits of a given number using recursion.

#include <stdio.h>
int sumOfDigits(int n) {
if (n == 0) return 0;
return n % 10 + sumOfDigits(n / 10);
}
int main() {
int n;
printf("Enter a number: ");
scanf("%d", &n);
printf("Sum of digits: %d\n", sumOfDigits(n));
return 0;
}

17. Write a C program to find the factorial of any number using recursion. (AKTU, 2018-19)

#include <stdio.h>
int factorial(int n) {
if (n == 0 || n == 1) return 1;
return n * factorial(n - 1);
}
int main() {
int n;
printf("Enter a number: ");
scanf("%d", &n);
printf("Factorial of %d: %d\n", n, factorial(n));
return 0;
}

18. Write a C program to generate the nth Fibonacci term using recursion. (AKTU, 2021-22)

#include <stdio.h>
int fibonacci(int n) {
if (n == 0) return 0;
if (n == 1) return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int n;
printf("Enter n: ");
scanf("%d", &n);
printf("Fibonacci term %d: %d\n", n, fibonacci(n));
return 0;
}

19. Write a C program to find the GCD (HCF) of two numbers using recursion.

#include <stdio.h>
int gcd(int a, int b) {
return (b == 0) ? a : gcd(b, a % b);
}
int main() {
int a, b;
printf("Enter two numbers: ");
scanf("%d %d", &a, &b);
printf("GCD of %d and %d: %d\n", a, b, gcd(a, b));
return 0;
}

20. Write a C program to find the LCM of two numbers using recursion.

#include <stdio.h>
int gcd(int a, int b) {
return (b == 0) ? a : gcd(b, a % b);
}
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
int main() {
int a, b;
printf("Enter two numbers: ");
scanf("%d %d", &a, &b);
printf("LCM of %d and %d: %d\n", a, b, lcm(a, b));
return 0;
}

21. Write a C program to display all array elements using recursion.

#include <stdio.h>
void displayArray(int arr[], int n, int i) {
if (i >= n) return;
printf("%d ", arr[i]);
displayArray(arr, n, i + 1);
}
int main() {
int n;
printf("Enter size of array: ");
scanf("%d", &n);
int arr[n];
printf("Enter array elements: ");
for (int i = 0; i < n; i++) scanf("%d", &arr[i]);
printf("Array elements: ");
displayArray(arr, n, 0);
printf("\n");
return 0;
}
22. Write a C program to find the sum of elements of an array using recursion.

#include <stdio.h>
int sumArray(int arr[], int n, int i) {
if (i >= n) return 0;
return arr[i] + sumArray(arr, n, i + 1);
}
int main() {
int n;
printf("Enter size of array: ");
scanf("%d", &n);
int arr[n];
printf("Enter array elements: ");
for (int i = 0; i < n; i++) scanf("%d", &arr[i]);
printf("Sum of array elements: %d\n", sumArray(arr, n, 0));
return 0;
}

23. Write a C program to find the maximum and minimum elements in an array using recursion.

#include <stdio.h>
int findMax(int arr[], int n, int i, int max) {
if (i >= n) return max;
if (arr[i] > max) max = arr[i];
return findMax(arr, n, i + 1, max);
}
int findMin(int arr[], int n, int i, int min) {
if (i >= n) return min;
if (arr[i] < min) min = arr[i];
return findMin(arr, n, i + 1, min);
}
int main() {
int n;
printf("Enter size of array: ");
scanf("%d", &n);
int arr[n];
printf("Enter array elements: ");
for (int i = 0; i < n; i++) scanf("%d", &arr[i]);
printf("Maximum: %d\n", findMax(arr, n, 0, arr[0]));
printf("Minimum: %d\n", findMin(arr, n, 0, arr[0]));
return 0;
}

You might also like