Assignment 5 PPS

 Assignment 5


Problem 1: WAP to print the sum of all numbers up to a given number.

sol.    

#include <stdio.h>

int main() {

    int num,i,sum = 0;

    printf("Enter a number: ");

    scanf("%d", &num);

for (i = 1; i <= num; i++) 

sum += i;

    }

    printf("The sum of all numbers up to %d is: %d\n", num, sum);

    return 0;

}


Problem 2: WAP to find the factorial of a given number.

sol. 

#include <stdio.h>

int main() 

{

    int num,i,factorial = 1;

    printf("Enter a number: ");

    scanf("%d", &num);

    if (num < 0)  // Checking for negative numbers

{

        printf("Factorial of negative numbers is not defined.\n");

    } 

else 

    {

        for (i = 1; i <= num; ++i) 

{

            factorial *= i;

    }

        printf("The factorial of %d is %d\n", num, factorial);

        }

    return 0;

}


Problem 3: WAP to print sum of even and odd numbers from 1 to N numbers.

sol.

#include <stdio.h>

int main() {

    int num,i, sum_even = 0, sum_odd = 0;

    printf("Enter a number: ");

    scanf("%d", &num);

    

    for (i = 1; i <= num; i++) {

        if (i % 2 == 0) {

            sum_even += i; // Adding even numbers to sum_even

        } 

else {

            sum_odd += i; // Adding odd numbers to sum_odd

        }

    }

    printf("The sum of even numbers from 1 to %d is: %d\n", num, sum_even);

    printf("The sum of odd numbers from 1 to %d is: %d\n", num, sum_odd);

    return 0;

}


Problem 4: WAP to print the Fibonacci series.

sol.

#include<stdio.h>

 int main()

{

int N,a=0,b=1,c,i;

printf("Enter a number: \n");

scanf("%d",&N);

printf("Fibonacci Series upto %d numbers \n",N);

printf("%d \t %d",a,b);

for(i=1;i<=N-2;i++)

{

c = a + b;

printf("\t %d",c);

a=b;

b=c;

}

}


Problem 5: WAP in C to find the sum of all prime numbers between 1 to n.

sol.

#include <stdio.h>

int main() 

{

    int N,n,i,sumofprimes = 0;

    printf("Enter the value of N: ");

    scanf("%d", &N);


    for (n = 2; n <= N; n++) 

{

    int flag = 0;

    for (i = 2; i <= n / 2; i++) 

{

    if (n % i == 0) {

    flag = 1;

    break;

}

    if (flag == 0) {

    printf("%d\n", n);

    sumofprimes += n;   }

    }

    printf("\n The sum of all prime numbers upto %d is %d\n",n-1,sumofprimes);

    return 0;

}



Problem 6: WAP to find the sum of digits of the entered number.

sol.    

#include<stdio.h>

void main()

{

int n,num,rem,sum=0;

printf("Enter a number :"); scanf("%u",&num);

n=num;

while(n>0)

{

rem=n%10;

sum=sum+rem;

n=n/10;

}

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

}


Problem 7: WAP to find the reverse of a number.

sol. 

#include<stdio.h>

int main() 

{

    int num, reversenum = 0, rem;

    printf("Enter a number: ");

    scanf("%d", &num);


    while (num != 0) {

        rem = num % 10;

        reversenum = reversenum * 10 + rem;

        num /= 10;

    }

    printf("The reverse of the number is: %d\n", reversenum);

    return 0;

}


Problem 8: WAP in C to count number of digits in a number.

sol.

#include<stdio.h>

void main()

{

int n,num,count=0;

printf("Enter a number : \n"); 

scanf("%d",&num);

n=num;

do {

count++;

n/=10;

   } 

while(n>0);

printf("Digits = %d",count);

}


Problem 9: .WAP in C to swap first and last digits of a number.

sol.

#include<stdio.h>

int main() {

    int num, firstDigit, lastDigit, temp;

    printf("Enter a number: ");

    scanf("%d", &num);

    lastDigit = num % 10;

    temp = num;

    // Find the first digit

    while (temp >= 10) {

        temp /= 10;

    }

    firstDigit = temp;

    int divisor = 1;

    // Finding the divisor for middle digits

    temp = num;

    temp /= 10; // Remove the last digit

    while (temp >= 10) {

        temp /= 10;

        divisor *= 10;

    }

    // Construct the middle digits in reverse order

    temp = num / 10; // Remove the last digit

    temp %= divisor; // Remove the first digit

    int middleDigits = 0;

    while (temp > 0) {

        middleDigits = middleDigits * 10 + (temp % 10);

        temp /= 10;

    }

    printf("Output: %d%d%d\n", lastDigit, middleDigits, firstDigit);

    return 0;

}


Problem 10: WAP in C to check whether a number is palindrome or not.

sol.

#include <stdio.h>

int main( ) 

{

    int num, reversedNum = 0, originalNum, remainder;

    printf("Enter an integer: ");

    scanf("%d", &num);

    

    originalNum = num; // Store the original number


    for (; num != 0; num /= 10)  // Reverse the number using a for loop

{

        remainder = num % 10;

        reversedNum = reversedNum * 10 + remainder;

    }

    if (originalNum == reversedNum)  // Check if the original number and reversed number are equal

{

        printf("%d is a palindrome.\n", originalNum);

   

else 

{

        printf("%d is not a palindrome.\n", originalNum);

    }

    return 0;

}


Problem 12: WAP in C to find power of a number using for loop.

sol.

#include <stdio.h>

int main()

{

    int base, exponent;

    long long power = 1;

    int i;

    printf("Enter base: "); scanf("%d", &base);

    printf("Enter exponent: "); scanf("%d", &exponent);

    

    for(i=1; i<=exponent; i++)

    {

        power = power * base;

    }

   

    printf("%d ^ %d = %lld", base, exponent, power);

    return 0;

}


Problem 13: WAP in C program to print Armstrong numbers from 1 to n.

sol.

#include <stdio.h>


int main() 

{

int num,n;

printf("Enter the number n:");

scanf("%d",&n);

    printf("Armstrong numbers between 1 to %d are:\n",n);


    for (num = 1; num <= n; ++num) 

{

        int originalNum = num;

        int sum = 0;


        while (originalNum != 0) 

{

            int digit = originalNum % 10;

            sum += digit * digit * digit;

            originalNum /= 10;

        }

        if (sum == num) 

{

            printf("%d\n", num);

        }

    }

    return 0;

}


Problem 14: WAP in C to find the GCD (HCF) of two numbers.

sol.

#include<stdio.h>

main( ) {

int n1,n2,n3,greater,smaller;

printf("Enter n1 and n2 respectively :");

scanf("%d %d",&n1,&n2);

if(n1>n2)

{

greater=n1;

smaller=n2;

}

else

{

greater=n2;

smaller=n1;

}

while(1)

{

n3=greater%smaller;

if(n3==0)

{

printf("HCF of %d and %d is = %d",n1,n2,smaller);

break;

}

greater = smaller;

smaller = n3;

}

return 0;

}


Problem 17: WAP in C to print all Strong numbers between 1 to n.

sol.

#include <stdio.h>

int main() 

{

    int n, i,j, num, rem, fact, sum;

    printf("Enter a number: ");

    scanf("%d", &n);

    printf("Strong numbers between 1 and %d are:\n", n);


    for (i = 1; i <= n; i++) 

{

        num = i;  

        sum = 0;

        while (num > 0) 

{

            fact = 1;

            rem = num % 10;


            for (j = 1; j <= rem; j++) 

{

             fact *= j;

            }

            sum += fact;

            num /= 10;

        }

        if (sum == i) {

            printf("%d\n", i);

        }

    }

    return 0;

}




Problem 18: WAP in C to convert binary number into decimal number and vice versa.

sol.

#include <stdio.h>

#include <math.h>

int main() {

    int choice, num;

    do {

        printf("Choose conversion:\n");

        printf("1. Decimal to Binary\n");

        printf("2. Binary to Decimal\n");

        printf("0. Exit\n");

        printf("Enter your choice: ");

        scanf("%d", &choice);


        switch (choice) {

            case 1: {

                int n, rem, bin = 0, i = 1;

                printf("Enter a decimal number: ");

                scanf("%d", &n);

                

                while (n > 0) {

                    rem = n % 2;

                    n /= 2;

                    bin += rem * i;

                    i *= 10;

                }

                

                printf("The binary equivalent is %d\n", bin);

                break;

            }

            case 2: {

                int bin, rem, dec = 0, i = 0;

                printf("Enter a binary number: ");

                scanf("%d", &bin);

                

                while (bin != 0) {

                    rem = bin % 10;

                    bin /= 10;

                    dec += rem * pow(2, i);

                    i++;

                }

                

                printf("The decimal equivalent is %d\n", dec);

                break;

            }

            case 0:

                printf("Exiting the program. Goodbye!\n");

                break;

            default:

                printf("Invalid choice! Please enter a valid option.\n");

        }

    } while (choice != 0);


    return 0;

}


Problem 19: WAP in C to print the following patterns.

a.          *

           **

         ***

       ****

     *****

sol.

#include <stdio.h>

int main() 

{

    int rows,i,j;

    printf("Enter the number of rows: ");

    scanf("%d", &rows);

    for (i=1;i<=rows;i++) 

{

        for (j=i;j<=rows;j++) 

{

            printf(" ");

        }

        for (j=1;j<=i;j++) 

{

            printf("*");

        }

        printf("\n");

    }

    return 0;

}


b. +

+

+

+++++++

+

+

+

sol.

//for above pattern you need rows=8

#include <stdio.h>

int main() 

{

    int rows,i,j;

    printf("Enter the number of rows: ");

    scanf("%d", &rows);

    

    for (i=1;i<rows;i++) 

{

    for (j=1;j<rows;j++) 

{

if (j==rows/2|| i==rows/2)

printf("+");

else

printf(" ");

    }

    printf("\n");

}

    return 0;

}


c.   

    *

  ***

*****

  ***

    *

sol.

//Diamond Pattern

#include <stdio.h>

int main() 

{

    int rows, i, j, space;

    printf("Enter the number of rows: ");

    scanf("%d", &rows);

    // Upper part of the diamond

    for (i=1; i<=rows/2 +1; i++) 

{

        for (space=1; space<=rows/2+1-i; space++) 

{

            printf(" ");

        }

        for (j=1; j<=2*i-1; j++) 

{

            printf("*");

        }

        printf("\n");

    }

    // Lower part of the diamond

    for (i=rows/2; i>=1; i--) 

{

        for (space=1; space<=rows/2+1-i; space++) 

{

            printf(" ");

        }

        for (j=1; j<=2*i-1; j++) 

{

            printf("*");

        }

        printf("\n");

    }

    return 0;

}



d.     

          *

      *       *

    *            *

  *                 *

* * * * * * * * *

sol.

#include <stdio.h>

int main()

{

    int rows, i, j;

    printf("Enter the number of rows: ");

    scanf("%d", &rows);

    for (i = 1; i <= rows; i++) 

    {

    for (j = i; j < rows; j++) 

    {

    printf(" ");

    }

    for (j = 1; j <= (2 * i - 1); j++) 

        {

        if (i == rows || j == 1 || j == (2 * i - 1)) 

        {

        printf("*");

        }

        else 

            {

            printf(" ");

            }

        }

        printf("\n");

    }

    return 0;

}


Problem 20: WAP in C to print the following number patterns.

a.  

12345

1234

123

12

1

sol.

//for above pattern you need rows=5

#include <stdio.h>

int main() 

{

    int rows, i, j;

    printf("Enter the number of rows: ");

    scanf("%d", &rows);


    for (i = rows; i >= 1; --i) 

{

    for (j = 1; j <= i; ++j) 

{

        printf("%d", j);

        }

        printf("\n");

    }

    return 0;

}


b.  

5

45

345

2345

12345

sol.

//for above pattern you need rows=5

#include <stdio.h>

int main() 

{

    int rows, i, j;

    printf("Enter the number of rows: ");

    scanf("%d", &rows);


    for (i = 1; i <= rows; ++i) 

{

    for (j = (rows - i + 1); j <= rows; ++j) 

{

        printf("%d", j);

        }

        printf("\n");

}

    return 0;

}


c.  

1

10

101

1010

10101

sol.

//for above pattern you need rows=5

#include <stdio.h>

int main() 

{

    int rows,i,j;

    printf("Enter the number of rows: ");

    scanf("%d", &rows);

    

    for (i=1;i<=rows;i++) 

{

    for (j=1;j<=i;j++) 

{

if (j%2==0)

printf("0");

else

printf("1");

    }

    printf("\n");

}

    return 0;

}


d.  

10001

01010

00100

01010

10001

sol.

//for above pattern you need rows=6

#include <stdio.h>

int main() 

{

    int rows,i,j;

    printf("Enter the number of rows: ");

    scanf("%d", &rows);

    

    for (i=1;i<rows;i++) 

{

    for (j=1;j<rows;j++) 

{

if (i==j|| i+j==rows)

printf("1");

else

printf("0");

    }

    printf("\n");

}

    return 0;

}



KRISHNA

Author & Editor

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

0 comments:

Post a Comment