Saturday, July 5, 2014

c assignment1

↓↑ Different ways to swap two number.
/*swap two no. using xor operator */
#include<stdio.h>
int main()
{
        int num1=12,num2=15;
        printf("No. Before swapping a=%d,b=%d\n",num1,num2);
/*      num1=num1^num2;
        num2=num1^num2;                       
        num1=num1^num2;
*/
//or in one line
        num1 ^= num2 ^= num1 ^= num2;
        printf("no after swapping a=%d,b=%d\n",num1,num2);
return 0;
}

/*swap two no. without using third variable */
#include<stdio.h>
int main()
{
        int num1=12,num2=15;
        printf("No. Before swapping a=%d,b=%d\n",num1,num2);
/*      num1=num1+num2;
        num2=num1-num2;
        num1=num1-num2;
*/
//or in one line
        num2 = num1 + num2 - (num1 = num2);
        printf("no after swapping a=%d,b=%d\n",num1,num2);
return 0;
}

/* swap two number using pointer */
#include<stdio.h>

void swap( int *num1, int *num2)
{
    int temp ;
    temp  = *num1 ;
    *num1 = *num2 ;
    *num2 = temp ;
}

int main( )
{
    int num1=12,num2=15;

    printf("beforee swap num1=%d num2=%d \n",num1,num2);
    swap(&num1,&num2) ;
    printf("after swap num1=%d num2=%d \n",num1,num2);

    return(0);
}

/* swap using 3 variable */
#include<stdio.h>
int main()
{
    int temp,num1=12,num2=15;
    printf("\nAfter Swapping, the numbers are:num1=%d num2=%d \n",num1,num2);
    temp = num1;
    num1 = num2;
    num2 = temp;
    printf("\nAfter Swapping, the numbers are:num1=%d num2=%d \n",num1,num2);
return 0;
}

/* swap using 2 Non-Zero variable*/
#include<stdio.h>
int main()
{
 int num1=12,num2=15;//both number should be non zero
       if(num1 != 0 && num2 != 0)
       {
          printf("\nBefore Swapping, the numbers are: num1=%d num2=%d \n",num1,num2);
          num1 = num1 * num2;
          num2 = num1/num2;
          num1 = num1/num2; 
//      or
/*        num2 = num1 * num2;
          num1 = num2/num1;
          num2 = num2/num1;   
*/        printf("\nAfter Swapping, the numbers are: num1=%d num2=%d \n",num1,num2);
       }
       else
       {
          printf("\n Both the numbers should be Non-Zero!");
       }

return 0;
}
↓↑ Program to reverse 4 digit number.
#include<stdio.h>
int main()
{
    int rev=0,rem,num;
    printf("\nenter four digit no.");
    scanf("%d",&amp;num);
    while(num&gt;0){
        rem=num%10;              //last digit is being extracted
        rev=rev*10+rem;          //reverse no. is being generated by extracted no.
        num=num/10;              //extracted no is being removed from original no.
    }
    printf("reverse of four digit no=%d\n",rev);
return 0;
}
↓↑ Program to check a year is Leap Year or not
#include<stdio.h>
int main()
{
    int year;
    printf("Enter year :");
    scanf("%d",&year);
    if(((year%4==0)&&(year%100!=0))||(year%400==0))      //condition for leap year
        printf("%d is a leap year\n",year);
    else
        printf("%d is not a leap year\n",year);
return 0;
}
↓↑ Program to draw shape ABCDEFGFEDCBA ABCDEF FEDCBA ABCDE EDCBA ABCD DCBA ABC CBA AB BA A A
#include<stdio.h>
int main()
{
    int row,i,j,k,space=1,limitl=71,limitr=65,count=0,temp;
    for(row=0;row<7;row++){  
         for(i=65;i<=limitl;i++){ //  first time PRINT ABCDEFG
             printf("%c",i); 
         }
         limitl--;

        if(row>0)
        {
             for(k=1;k<=space;k++) //FIRST TIME PRINT 0 SPACE 
             {
                 printf(" "); 
             }
         space=space+2;
        }

        temp=limitl;

        if(count==1)temp+=1;  // USED TO PRINT FEDCBA SECOND TIME AND ONE CHARACTER LESS ONWARDS
 
        for(j=temp;j>=limitr;j--){ // FIRST TIME PRINT FEDCBA
             printf("%c",j);
        }
        count=1;
        printf("\n");
    } 
return 0;
}
↓↑ Program to check greatest of three numbers.
#include<stdio.h>
int main()
{
    int num1,num2,num3;
    printf("Enter 3 Number :");
    scanf("%d\n%d\n%d",&num1,&num2,&num3);
    if(num1==num2 && num1==num3)                 //compare all number to each other number
        printf("all numbers are equal\n");
    else if(num1>num2 && num1>num3)              //compare first number to other numbers
        printf("num1=%d is greater\n",num1);
    else if(num2>num1 && num2>num3)              //compare second number to other numbers
        printf("num2=%d is greater\n",num2);
    else                                         //compare third number to other numbers
        printf("num3=%d is greater\n",num3);
return 0;
}
↓↑ Program to identify Quadrant of a point
#include<stdio.h>
int main()
{
    float x,y;
    printf("enter co-ordinate of a point :");
    scanf("%f\n%f",&x,&y);
    if(x==0 && y==0)                                           //condition if co-ordinate at origin
        printf("x=%f,y=%f is the origion\n",x,y);
    else if(x==0 && y>0 ||x==0 && y<0)                        //condition if co-ordinate at y axix
        printf("x=%f,y=%f point is on Y-axis\n",x,y);
    else if(x>0 && y==0 ||x<0 && y==0)                       //condition if co=ordinate at x axix
        printf("x=%f,y=%f point is on X-axis\n",x,y);
    else if(x>0 && y>0)                                     //condition if co-ordinate at first quardent
        printf("x=%f,y=%f are in 1st quadrant\n",x,y);
    else if(x<0 && y>0)                                     //condition if co-ordinate at second quardent
        printf("x=%f,y=%f are in 2nd quadrant\n",x,y);
    else if(x<0 && y<0)                                     //condition if co-ordinate at third quardent
        printf("x=%f,y=%f are in 3rd quadrant\n",x,y);
    else                                                    //condition if co-ordinate at fourth quardent
        printf("x=%f,y=%f are in 4th quadrant\n",x,y);
return 0;
}
↓↑ Recursive sum of digits in a no. Eg:- sumdigits(5689) = 28, sumdigits(28) = 10, sumdigits(10) = 1.
#include<stdio.h>
int sum(int n);
int main()
{
    int i,n,s;
    printf("enter no.");
    scanf("%d",&n);
    s=sum(n);
    printf("recursive sum is =%d of number %d\n",s,n);
return 0;
}
int sum(int n)
{
    int sum1=0,rem,rem1,sum2=0;
    while(n>0)
    {
        rem=n%10;                //last digit is being extracted                              
        sum1+=rem;               //sum of all digit is being extracted
        n=n/10;                  // exponent is being extracted
    }  
    while(sum1>0)
    {
        rem1=sum1%10;            //last digit is being extracted from sum
        sum2+=rem1;              //sum of all digit is being extracted
        sum1=sum1/10;            //exponent is being extracted
    }
return sum2;
}
↓↑ Series generation 1 + x + x^2/2! + x^3/3!+...x^n/n!
#include<stdio.h>
int main()
{
    int x,n,i;
    printf("Enter the integer value of X and N:\n");
    scanf("%d\n%d",&x,&n);
    for(i=0;i<=n;i++)
    { 
        if(i!=0)printf("+");
            printf("%d^%d/%d!",x,i,i);
    }
    printf("\n\n");
return 0;
}
↓↑ Program to calculate GCD of two no.s do-while loop
#include<stdio.h>
int main()
{
    int x,y,i;
    printf("enter two no.");
    scanf("%d%d",&x,&y);
    i=y;
    do{
        if(x%i==0 && y%i==0)
        {
            printf("gcd of two no is :%d\n",i);
            break;
        }
        i--;
    }while(i>=1);
return 0;
}
↓↑ Program to calculate GCD of two no.s while loop
#include<stdio.h>
int main()
{
    int n1,n2,g;
    printf("\nEnter two no:");
    scanf("%d\n%d",&n1,&n2);
    g=gcd(n1,n2);
    printf("gcd of %d and %d is %d\n",n1,n2,g);
return 0;
}

int gcd(int a,int b)
{
    int c;
    while(1)
    {
        c=a%b;
        if(c==0)
            return b;
        a = b;
        b = c;
     }
}
↓↑ Program to calculate LCM of two no.s
#include<stdio.h>
int main()
{
    int n1,n2,l;
    printf("\nEnter two number:");
    scanf("%d\n%d",&n1,&n2);
    l=lcm(n1,n2);
    printf("lcm of %d and %d is =%d\n",n1,n2,l);
return 0;
}
int lcm(int a,int b)
{
    int n;
    for(n=1;;n++)
    {
        if(n%a == 0 && n%b == 0)          //condition for lcm
            return n;
    }
}
↓↑ Program to calculate ncr
#include<stdio.h>
int main()
{
    int n,r,ncr;
    printf("Enter any two numbers->");
    scanf("%d %d",&n,&r);
    if(n>=r)
    {
        ncr=fact(n)/(fact(r)*fact(n-r));
        printf("The NCR factor of %d and %d is: %d\n",n,r,ncr);
    }
    else
        printf("Value of N should be equal to or greater than R\n\n");
return 0;
}
int fact(int n)
{
    int i=1;
    while(n!=0)
    {
        i=i*n;
        n--;
    }
return i;
}
↓↑ Program to Print range of prime number till given number
#include<stdio.h>
int main()
{
    int limit,i,j,flag=0;
    printf("Enter Limit for prime numbers:");
    scanf("%d",&limit);
    printf("Prime no's are 2,");
    for(i=3;i<=limit;i++)
    {
        for(j=2;j<i;j++)
        {
            if(i%j==0)
                flag=1;
        }
        if(flag==0)
            printf("%d ",i);
        flag=0;
    }
    printf("\n");
return 0;
}
↓↑ Program to make triange shape1 with '*' .
#include<stdio.h>
int main()
{
    int line,i,j;
    printf("Enter the no. of lines: ");
    scanf("%d",&line);
    for(i=0;i<line;i++){
        for(j=0;j<line-i-1;j++)
            printf(" ");

        for(j=0;j<=i;j++)
            printf("* ");
        printf("\n");
    }
return 0;
}
↓↑ Program to make triange shape2 with '*'
#include<stdio.h>
int main()
{
    int line,i,j;
    printf("Enter the no. of lines: ");
    scanf("%d",&line);
    for(i=0;i<line;i++){
         for(j=0;j<line-i-1;j++)
             printf(" ");

         for(j=0;j<=i;j++)
             printf("*");
         printf("\n");
    }
return 0;
}
↓↑ Program to make triange shape3 with '*'
#include<stdio.h>
int main()
{
    int line,i,j;
    printf("enter no's of lines:");
    scanf("%d",&line);
    for(i=1;i<=line;i++)
    {
        for(j=1;j<=i;j++) 
        {
            printf("*");
        }
        printf("\n");
    }
return 0;
}
↓↑ Program to print Pascal triangle.
#include<stdio.h>
int fact(int n)
{
    int i=1;
    while(n!=0)
    {
        i=i*n;
        n--;
    }
return i;
}
int main()
{
    int line,i,j;
    printf("Enter the no. of lines: ");
    scanf("%d",&line);
    for(i=0;i<line;i++)
    {
        for(j=0;j<line-i-1;j++)
            printf(" ");

        for(j=0;j<=i;j++)
            printf("%d ",fact(i)/(fact(j)*fact(i-j)));
        printf("\n");
     }
return 0;
}
↓↑ Program to calculate Brute force multiplicative inverse
#include<stdio.h>
int modInverse(int a, int m) {
    a %= m;
    int x;
    for(x = 1; x < m; x++) {
        if((a*x) % m == 1) return x;
    }
}
int main()
{
    printf("\nmultiplicative inverse = %d\n",modInverse(42,2017));
return 0;
}
↓↑ Program for Extended Euclidean Algorithm to calculate multiplicative inverse
#include<stdio.h>
int mul_inv(int a, int b)
{
    int b0 = b, t, q;
    int x0 = 0, x1 = 1;
    if (b == 1) return 1;
    while (a > 1) {
        q = a / b;
        t = b, b = a % b, a = t;
        t = x0, x0 = x1 - q * x0, x1 = t;
    }
    if (x1 < 0) x1 += b0;
return x1;
}
int main(void) {
    printf("%d\n", mul_inv(42, 2017));
return 0;
}
↓↑ Electricity bill calculation as per following tariff upto 100 Units : Rs.1,100-199 Units : Rs.2 200 – 399 units : Rs.3,400 units and above – Rs.4
#include<stdio.h>
int main()
{
    int unit,rs;
    printf("enter unit:");
    scanf("%d",&unit);
    if(unit<=99)                                 //total bill if unit <=99
    {
        rs=unit;
    }
    else if(unit>=100 && unit<=199)              //total bill if unit<= 199
    {
        rs=99+(unit-99)*2;
    }
    else if(unit>=200 && unit<=399)            //total bill if unit<=399
    {
        rs=299+(unit-199)*3;
    }
    else                                        //total bill if unit>=399
    {
        rs=899+(unit-399)*4;
    }

    printf("electricity bill of unit %d is %d\n",unit,rs);
return 0;
}
↓↑ Student grade using switch case as per following criteria >= 70% - A grade, 60-69% - B grade 50 – 59%: C Grade, 30-49% - D grade <30% - Fail
#include<stdio.h>
int grade(int p)
{
    if(p>=70)                                   // condition for A grade 
        return 1;
    else if(p>=60 && p<=69)                     // condition for B grade
        return 2;
    else if(p>=50 && p<=59)                      //condition for C grade
        return 3;
    else if(p>=30 && p<=49)                     //condition for D grade
        return 4;
    else                                          //condition for FAIL
        return 5;
}
int main()
{
    int percentage,i;
    printf("enter percentage:");
    scanf("%d",&percentage);
    i=grade(percentage);
    switch(i)
    { 
        case 1:
            printf("congratuation you passed with A-GRADE\n");
        break;
        case 2:
            printf("congratuation you  passed with B-GRADE\n");
        break;
        case 3:
            printf("congratuation you  passed with C-GRADE\n");
        break;
        case 4:
            printf("you passed with D-GRADE \n");
         break;
        default:
            printf("Sorry you are FAIL\n");                          
    }
return 0;
}

No comments:

Post a Comment