Functional C programming

  • Write a function to calculate the factorial value of any integer entered through the keyboard.

    #include<stdio.h>
    #include<conio.h>
    long int factorial(int n);
    void main()
    {
    clrscr();
    long int n,res,x;
    scanf(“%ld”,&n);
    res=factorial(n);
    printf(“%ld”,res);
    getch();
    }
    long int factorial(int n)
    {
    int rem=1,i;
      for(i=n;i>=1;i–)
    rem=rem*i;
    return rem;
    }

  • Write a  function power(a,b)  to  calculate the value  of  a raised to .

    #include<stdio.h>
    #include<conio.h>
    int power(int a,int b);
    void main()
    {
    clrscr();
    int i,x,sum,r,n;

    scanf(“%d%d”,&x,&n); 
    r=power(x,n);
    printf(“%d”,r);
    getch();
    }
    int power(int a,int b)
    {
    int i,res=1;
    for(i=b;i>=1;i–)
    res=a*res;
    return res;
    }

  • Write a function to calculate LCM of two numbers.

    #include<stdio.h>
    #include<conio.h>
    int lcm(int a,int b);
    void main()
    {
    clrscr();
    int a,b,i,x,y,res;
    scanf(“%d%d”,&x,&y);
    res=lcm(x,y);
    printf(“LCM is:\n%d”,res);
    getch();
    }

    int lcm(int a,int b) 
    {
    int i;
    for(i=1; ;i++)
    {
    if(i%a==0&&i%b==0)
    break;
    }
    return i;
    }

  • Write a function to calculate GCD of two numbers.
    #include<stdio.h>
    #include<conio.h>
    int gcd(int a,int b);
    void main()
    {
    clrscr();
    int x,y,res;
    scanf(“%d%d”,&x,&y);

    res=gcd(x,y); 
    printf(“%d”,res);

    getch(); 
    }
    int gcd(int a,int b)
    {
    int rem;
    while(b>0)
    {
    rem=a%b;
    a=b;
    b=rem;
    }
    return a;
    }

  • Any year is entered through the keyboard.Write a function to determine whether the year is a leap year or not.
    #include<stdio.h>
    #include<conio.h>
    int year(int y);
    void main()
    {
    clrscr();
    int y,res;
    printf(“Enter the value of year?\n”);
    scanf(“%d”,&y);
    res=year(y) ;

    getch(); 
    }
    int year(int y)
    {

    if(y%400==0) 
    return    printf(“It is leap year”);
    else if(y%100==0)
    return    printf(“It is not leap year”);
    else if(y%4==0)
    return    printf(“It is leap year”);

    else 
    return    printf(“It is not leap year”);
    }

  • A prime integer is entered through the keyboard.Write a function  to obtain the prime factors  of this number.

    #include<stdio.h>
    #include<conio.h>

    int prime (int x); 
    void main()
    {
    clrscr();
    int num;
    printf(“Enter The Number:”);
    scanf(“%d”,&num);
    int p,i;
    p=num;
    for(i=2;i<=(num/2);i++)
    {  if(prime(i))
    while(p%i==0)
    { printf(“%d “,i);
    p=p/i;
    }

    } 
    getch();
    }

    int prime (int x) 
    {  int i=2;
    while(i<=(x/2))
    { if(x%i==0)
    break;
    ++i;
    }
    if (i>(x/2))
    return 1;
    else
    return 0;

    }

  • Write a function which receives 5 integers and returns the sum, average and standard deviation of these numbers. Call this function from main() and print the results in main().
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    int sum(int p,int q,int r,int s,int t);
    float average(float o);
    float sd(float m,float n);

    void main() 
    {
    clrscr();
    int a,b,c,d,e,x;
    float y,z;
    printf(“Enter the value of a:”);
    scanf(“%d”,&a);
    printf(“Enter the value of b:”);
    scanf(“%d”,&b);
    printf(“Enter the value of c:”);
    scanf(“%d”,&c);
    printf(“Enter the value of d:”);
    scanf(“%d”,&d);
    printf(“Enter the value of e:”);
    scanf(“%d”,&e);
    x=sum(a,b,c,d,e);
    printf(“\nSUM=%d”,x);
    y=average(x);
    printf(“\nAVERAGE=%f”,y);
    z=sd(x,y);
    printf(“\nSTANDARD DEVIATION=%f”,z);

    getch(); 
    }
    int sum(int p,int q,int r,int s,int t)
    {
    return p+q+r+s+t;
    }
    float average(float o)
    {
    return o/5;
    }
    float sd(float m,float n)
    {
    return (sqrt(m-n));
    }

  • A 5 digit positive integer is entered through the keyboard write a function to calculate sum of digits of the digit number.
    Using recursion:
    #include<stdio.h>
    #include<conio.h>
    int digitsum(int n);

    void main()
    {
    clrscr();
    int x;
    printf(“Enter The Number:”);
    scanf(“%d”,&x);
    printf(“The Sum Is:%d”,digitsum(x));
    getch();
    }

    int digitsum(int n)

    {
    int rem,sum;
    if(n==0)
    return 0;
    rem=n%10;
    n=n/10;
    sum=rem+digitsum(n);
    return sum;
    }

    Without using recursion:
    #include<stdio.h>
    #include<conio.h>
    int digitsum(int n);

    void main() 
    {
    clrscr();
    int x;
    printf(“Enter The Number:”);
    scanf(“%d”,&x);
    printf(“The Sum Is:%d”,digitsum(x));
    getch();
    }

    int digitsum(int n) 

    { 
    int rem,sum=0,i;
    for (i=1;i<=5;i++)
    { rem=n%10;
    n=n/10;
    sum=sum+rem; }
    return sum;
    }

  • A positive integer is entered through the keyboard, write a program  to obtain the prime factors recursively.
    #include<stdio.h>
    #include<conio.h>
    primefct(int x);
    void main()
    {
    clrscr();
    int x;
    printf(“Enter an integer:”);
    scanf(“%d”,&x);
    printf(“the prime factors are:”);
    primefct(x);
    getch();
    }

    primefct(int n) 
    {
    int i;
    for(i=2;i<=n;i++)
    {
    if(n%i==0)
    {
    printf(“%d “,i);
    primefct(n/i);
    break;
    }
    }
    }

  • Write a recursive function to obtain the first 25 numbers of a Fibonacci  sequence.In a Fibonacci sequences the sum of two successive terms given the third term. Following are the first few term of the Fibonacci sequence:
    1         1          2           3           5           8          13           21           34          55………

    #include<stdio.h>
    #include<conio.h>

    long int fib(long int m); 
    void main()
    {
    clrscr();
    long int i;
    for(i=1;i<=25;i++)
    printf(“\n%ld\n”,fib(i));
    getch();

    } 
    long int fib(long int m)
    {
    if(m<=2)
    return 1;
    else
    return fib(m-1)+fib(m-2);

    }

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s