Assignment 8 PPS

 Assignment 8 PPS


Problem 1: Write a C program to find maximum and minimum between two numbers using functions.

sol.    

#include<stdio.h>

//Function declaration

int max(int num1, int num2);

int min(int num1, int num2);


int main() {

    int num1, num2, maximum, minimum;

    

    printf("Enter any two numbers: ");

    scanf("%d%d", &num1, &num2);

    

    maximum = max(num1, num2);  // Calling maximum function

    minimum = min(num1, num2);  // Calling minimum function

    

    printf("\nMaximum = %d\n", maximum);

    printf("Minimum = %d", minimum);

    return 0;

}


//maximum defination

int max(int num1, int num2) {

    return (num1 > num2 ) ? num1 : num2;

}

//minimum defination

int min(int num1, int num2) {

    return (num1 > num2 ) ? num2 : num1;

}


Problem 2: Write a C program to check whether a number is even or odd using functions.

sol. 

#include<stdio.h>

int main()

{

    int num;

    printf("Enter any number: ");

    scanf("%d", &num);

    

    if(isEven(num)) {

        printf("The number is even.");

    }

    else {

        printf("The number is odd.");

    }

    return 0;

}

//function for even checking

int isEven(int num) {

    return !(num & 1);

}


Problem 3: Write a C program to implement strlen (), strcat (),strcpy () using the concept of Functions.

sol.

#include<stdio.h>

int main() {

    char str1[100], str2[100];

    printf("Enter a string: ");

    scanf("%s", str1);


    printf("Length of the string: %d\n", strlenbyfn(str1)); //fn calling


    printf("Enter another string to concatenate: ");

    scanf("%s", str2);

    strcatbyfn(str1, str2); //fn calling

    printf("Concatenated string: %s\n", str1);


    strcpybyfn(str1, str2); //fn calling

    printf("Copied string: %s\n", str1);


    return 0;

}


// Function to do strlen

int strlenbyfn(const char *str) {

    int length = 0;

    while (str[length] != '\0') {

        length++;

    }

    return length;

}


// Function to do strcat 

void strcatbyfn(char *dest, const char *src) {

    while (*dest) {

        dest++;

    }

    while ((*dest++ = *src++));

}


// Function to do strcpy

void strcpybyfn(char *dest, const char *src) {

    while ((*dest++ = *src++));

}


Problem 4: Write a C program to find power of any number using recursion.

sol.

#include<stdio.h>

//function declaration

float pow(float base, int expo);


int main() {

    float base, power;

    int expo;

    

    printf("Enter base: ");

    scanf("%f", &base);

    printf("Enter exponent: ");

    scanf("%d", &expo);

   

    power = pow(base, expo);  // Calling pow function

    

    printf("%.1f ^ %d = %.3f", base, expo, power);

    return 0;

}


//function defination

float pow(float base, int expo)

{

    if(expo == 0) 

        return 1;

    else if(expo > 0)

        return base * pow(base, expo - 1);

    else

        return 1 / pow(base, -expo);

}


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

sol.

#include<stdio.h>

void printEvenOdd(int cur, int limit);  // Function declaration


int main() {

    int lowerLimit, upperLimit;

    

    printf("Enter lower limit: "); scanf("%d", &lowerLimit);

    printf("Enter upper limit: "); scanf("%d", &upperLimit);

    

    printf("Even/odd Numbers from %d to %d are: ", lowerLimit, upperLimit);

    printEvenOdd(lowerLimit, upperLimit); //calling function

    

    return 0;

}


//function defination

void printEvenOdd(int cur, int limit) {

    if(cur > limit)

    return;

    printf("%d, ", cur);

    printEvenOdd(cur + 2, limit); //calling same function (Recursion)

}



Problem 6: Write a C program to find sum of all natural numbers between 1 to n using recursion.

sol.    

#include<stdio.h>

int sumOfNaturalNum(int start, int end); // Function declaration


int main() {

    int start, end, sum;

    printf("Enter lower limit: "); scanf("%d", &start);

    printf("Enter upper limit: "); scanf("%d", &end);

    

    sum = sumOfNaturalNum(start, end);

    

    printf("Sum of natural numbers from %d to %d = %d", start, end, sum);

    return 0;

}


int sumOfNaturalNum(int start, int end) { //function defination

    if(start == end)

        return start;

    else

        return start + sumOfNaturalNum(start + 1, end); 

}


Problem 7: Write a C program to find factorial of any number using recursion.

sol.

#include<stdio.h>

unsigned long long fact(int num); // Function declaration


int main() {

    int num;

    unsigned long long factorial;


    printf("Enter any number: "); scanf("%d", &num);

    

    factorial = fact(num); // Call factorial function

    

    printf("Factorial of %d is %llu", num, factorial);

    return 0;

}


//function defination

unsigned long long fact(int num) {

    if(num == 0) 

        return 1;

    else

        return num * fact(num - 1);

}



Problem 8: Write a C program to generate nth Fibonacci term using recursion.

sol.

#include<stdio.h>

unsigned long long fibo(int num); // Function declaration


int main(){

    int num;

    unsigned long long fibonacci;

    

    printf("Enter any number to find nth fiboacci term: "); scanf("%d", &num);

    

    fibonacci = fibo(num); 

    

    printf("%d fibonacci term is %llu", num, fibonacci);

    return 0;

}


unsigned long long fibo(int num) { //function defination

    if(num == 0)     

    return 0;

    else if(num == 1)

        return 1;

    else 

        return fibo(num-1) + fibo(num-2); 

}


Problem 9: Write a C program to find reverse of any number using recursion.

sol.

#include<stdio.h>

#include<math.h>

int reverse(int num); //Fuction declaration

int main() {

    int num, rev;

    printf("Enter any number: ");

    scanf("%d", &num);

    

    rev = reverse(num);  //calling the reverse function

    

    printf("Reverse of %d = %d", num, rev);

    return 0;

}


int reverse(int num) {

    int digit = (int) log10(num); // Find total digits in num

    if(num == 0)

        return 0;

    

    return ((num%10 * pow(10, digit)) + reverse(num/10));

}


Problem 10: Write a C program to find sum of digits of a given number using recursion.

sol.

#include <stdio.h>

int sumOfDigits(int num); // Function declaration

int main() {

    int num, sum;

    printf("Enter any number to find sum of digits: "); scanf("%d", &num);

    

    sum = sumOfDigits(num); //function calling

    printf("Sum of digits of %d = %d", num, sum);

    return 0;

}


int sumOfDigits(int num) { //function defination

    if(num == 0)

        return 0;

  

    return ((num % 10) + sumOfDigits(num / 10));

}



KRISHNA

Author & Editor

Thanks for visiting xmonocodes , i hope you are getting everything you want.

0 comments:

Post a Comment