C programs Basic Solutions

Here I posted solutions for C programs that available in Internet .

Click on the below title to navigate to your section.






1. Robot

#include<stdio.h>
int main()
{
    char name[50],creator[50],pur[50];
    int mem;
    float speed;
    printf("Enter the Name :\n");
    scanf("%s",name);
    printf("Enter the Creator Name :\n");
    scanf("%s",creator);
    printf("Enter the Purpose :\n");
    scanf("%s",pur);
    printf("Memory Space :\n");
    scanf("%d",&mem);
    printf("Speed :\n");
    scanf("%f",&speed);
    printf("My Details :\nI am the Robot named %s.\nI was created by %s.\nI am created for the purpose of %s.\nMy memory space is around %dGb and my speed is %.1f Tb.",name,creator,pur,mem,speed);
    return 0;
}

2. Grocery Shop

#include<stdio.h>
int main()
{
    int a,b,c,d;
    printf("Enter the cost of A4sheet:\n");
    scanf("%d",&a);
    printf("Enter the cost of Pen:\n");
    scanf("%d",&b);
    printf("Enter the cost of Pencil:\n");
    scanf("%d",&c);
    printf("Enter the cost of Eraser:\n");
    scanf("%d",&d);
    printf("Items Details\n");
    printf("A4sheet:%d\nPen:%d\nPencil:%d\nEraser:%d",a,b,c,d);
}
3. Largest of three numbers using ternary operator

#include<stdio.h>
int main()
{
    int a,b,c,d;
    printf("Enter the numbers :\n");
    scanf("%d%d%d",&a,&b,&c);
    d=(a>b)?(a>c?a:c):(b>c?b:c);
    printf("%d is the greatest number",d);
}

4. Four Seasoners

#include<stdio.h>
int main()
{
    int x1,x2,x3,y1,y2,y3;
    float c,d;
    printf("X1\n");
    scanf("%d",&x1);
    printf("Y1\n");
    scanf("%d",&y1);
    printf("X2\n");
    scanf("%d",&x2);
    printf("Y2\n");
    scanf("%d",&y2);
    printf("X3\n");
    scanf("%d",&x3);
    printf("Y3\n");
    scanf("%d",&y3);
    c=x1+x2+x3;
    c=c/3;
    d=y1+y2+y3;
    d=d/3;
    printf("Dinesh's house is located at (%.1f,%.1f)",c,d);
    
}

5. Right angle or not

#include<stdio.h>
int main()
{
    int a,b,c;
    printf("Enter the length two smallest sides of triangle\n");
    scanf("%d%d",&a,&b);
    printf("Enter the length of longest side of triangle\n");
    scanf("%d",&c);
    if((a<=0)||(b<=0)||(c<=0))
    {printf("Invalid Input");
    return 0;
    }
    a=a*a;
    b=b*b;
    c=c*c;
    if(a+b==c)
    printf("Triangle is Right Angled Triangle");
    else
    printf("Triangle is not Right Angled Triangle");
}
6. Leap Year

#include<stdio.h>
int main()
{
    int year;
    scanf("%d",&year);
    if(year%4==0)
    {
        if(year%100==0)
        {if(year%400==0)
        printf("%d is a leap year",year);
        else
        printf("%d is not a leap year",year);
        }
        else
        printf("%d is a leap year",year);
    }
    else
    printf("%d is not a leap year",year);
    
}
7. Switch operations 

#include<stdio.h>
int main()
{
    int a,b,c;
    printf("Enter the first value :\n");
    scanf("%d",&a);
    printf("Enter the second value :\n");
    scanf("%d",&b);
    if(a<=b)
    {a=a+b;
    b=a-b;
    a=a-b;}
    printf("Enter the choice from the menu\n1.Addition\n2.Subtraction\n3.Multiplication\n4.Division\n");
    scanf("%d",&c);
    switch(c)
    {
        case 1:printf("The value after Addition is %d.",a+b);
        break;
        case 2:printf("The value after Subtraction is %d.",a-b);
        break;
        case 3:printf("The value after Multiplication is %d.",a*b);
        break;
        case 4:printf("The value after Division is %d.",a/b);
    }
    
}
8. Lift 1

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int a[3],j,c=0,b[3],min;
    for(int i=0;i<3;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]>n)
          b[i]=a[i]-n;
        else
        b[i]=n-a[i];
    }
        min=(b[0]<=b[1])?(b[0]<=b[2]?b[0]:b[2]):(b[1]<=b[2]?b[1]:b[2]);
        for(j=0;j<3;j++)
        {
            if(min+n==a[j])
            {
                c++;
                break;
            }
        }
        if(c>0)
        {
            printf("%d",a[j]);
        }
        else
        printf("%d",n-min);
    
    
    
}
9. Upside Down Gift Articles

#include<stdio.h>
int main()
{
    int c=0;
    int n,ch[2];
    scanf("%d",&n);
    ch[0]=n/10;
    ch[1]=n%10;
    for(int i=0;i<=1;i++)
    {
        if((ch[i]==1)||(ch[i]==8)||(ch[i]==6)||(ch[i]==9)||(ch[i]==0))
        c++;
    }
    if(c==2)
    printf("yes");
    else
    printf("no");
}

10. Lesson on Squares

#include<stdio.h>
int main()
{
    int x,y,l,a,b,c,d;
    scanf("%d%d%d",&x,&y,&l);
    a=x-l/2;
    b=x+l/2;
    c=y-l/2;
    d=y+l/2;
    printf("%d,%d\n",b,d);
    printf("%d,%d\n",b,c);
    printf("%d,%d\n",a,c);
    printf("%d,%d",a,d);
    
}
11. Sum of digits

#include<stdio.h>
int main()
{
    int a,i,sum=0,temp;
    printf("Enter the value :\n");
    scanf("%d",&a);
    temp=a;
    while(a>0)
    {
        i=a%10;
        sum=sum+i;
        a=a/10;
    }
    printf("Sum of digits in %d is %d",temp,sum);
}
12. Mahirlmathi Battle and Prime Numbers

#include<stdio.h>
int main()
{
    int a,b,sum,i,tsum;
    scanf("%d%d",&a,&b);
    sum=a+b;
    tsum=sum+1;
    for( i=tsum;i<tsum/2+tsum;i++)
    {
     int flag=0;
     for(int j=2;j<=i/2;j++)
     {
         if(i%j==0)
         {flag=1;
         break;}
     }
     if(flag==0)
     {break;}
    }
    
    printf("%d",i-sum);
}
13. Ramanujan Numbers and the Taxi cab

#include<stdio.h>
int main()
    {
        int n;
        scanf("%d",&n);
        if((n==1729)||(n==4104)||(n==13832)||(n==20683)||(n==32832)||(n==39312)||(n==40033)||(n==46683)||(n==64232)||(n==65728))
        printf("yes");
        else
        printf("no");
        
    }
14. Square Game

#include<stdio.h>
int main()
{
    int n,a;
    scanf("%d",&n);
    a=n/4;
    a=a*4;
    a=a/2;
    a=a*a;
    printf("%d",a);
}
15. Character Pattern 8

#include<stdio.h>
int main()
{
    int n,i,j;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {           
        for(j=1;j<n*2;j++)
        {
            if(i>=j||j>=n*2-i)
            printf("b");
            else
            printf("*");
        }
    
        printf("\n");
    }
      
}

1. Find GCD and LCM

#include<stdio.h>
int GCD(int a,int b)
{
    int rem=a%b;
    while(rem!=0)
    {
        a=b;
        b=rem;
        rem=a%b;
    }
    return b;
}
int LCM(int a,int b)
{
    return ((a*b)/GCD(a,b));
}
int main()
{
    int a,b,g,l;
    printf("Enter two integers:\n");
    scanf("%d%d",&a,&b);
    g=GCD(a,b);
    l=LCM(a,b);
    printf("Greatest common divisor of %d and %d = %d\nLeast common multiple of %d and %d = %d",a,b,g,a,b,l);
    return 0;
}
2. Expression Evaluation

#include<stdio.h>
#include<math.h>
int calculate(int x,int n)
{
    int sum=x;
    for(int i=2;i<=n;i++)
    {
    	sum=sum+pow(x,i);
    }
    return sum;
}
int main()
{
    int x,n,y;
    printf("Enter the value of x\n");
    scanf("%d",&x);
    printf("Enter the value of n\n");
    scanf("%d",&n);
    y=calculate(x,n);
    printf("The result is\n%d",y);
    return 0;
}
3. Simplified Fraction 

#include<stdio.h>
int GCD(int a,int b)
{
    if(b==0)
    return a;
    return GCD(b,a%b);
}
void fun(int a,int b)
{
    int d=1;
    if(a/b==0)
    {
        if(a<b)
        d=GCD(a,b);
        else if(b<a)
        d=GCD(a,b);
        printf("%d/%d",a/d,b/d);
    }
    else
    {
        int m=1;
        if((a%b)/b==0)
        {
            if((a%b)<b)
                m=GCD(a%b,b);
            else if((a%b)>b)
            m=GCD(a%b,b);
        }
        printf("%d %d/%d",a/b,(a%b)/m,b/m);
    }
}

void printValue(int a,int b)
{
    if(a%b==0)
    printf("%d",a/b);
    else
    fun(a,b);
}
int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    printValue(a,b);
    return 0;
}
4. Array Median

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,*arr,temp;
    printf("Enter the number of elements in the array\n");
    scanf("%d",&n);
    arr=(int*)malloc(n*sizeof(int));
    printf("Enter the elements in the array\n");
    for(int i=0;i<n;i++)
    {
    scanf("%d",arr+i);
    }
    for(int i=0;i<n;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if(*(arr+i)> *(arr+j))
            {
                temp =*(arr +i);
                *(arr+i)=*(arr+j);
                *(arr+j)=temp;
            }
        }
    }
    float median;
    if(n%2==0)
    {
        int mid=n/2;
        median=(float)(*(arr+mid-1)+ *(arr+mid))/2;
    }
    else
    median=*(arr+(n/2));
    printf("The median of the array is %.2f",median);
    return 0;
}
5. Array Range

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int *arr;
    int n;
    printf("Enter the numbe of elements in the array\n");
    scanf("%d",&n);
    arr=(int*)malloc(n*sizeof(int));
    printf("Enter the elements in the array\n");
    for(int i=1;i<=n;i++)
    {
        scanf("%d\n",arr+i);
    }
    int min=*(arr+1);
    for(int i=2;i<=n;i++)
    {
        if(*(arr+i)<min)
        {
            min=*(arr+i);
        }
    }
    int max=*(arr+1);
    for(int i=2;i<=n;i++)
    {
        if(*(arr+i)>max)
        max=*(arr+i);

    }
    int c=max-min;
    printf("The range of the array is %d",c);
    return 0;
}
6. No of Distinct Elements in an unsorted array

#include<stdio.h>
#include<stdlib.h>

int main()
{
    int *a,n;
    scanf("%d",&n);
    a=(int*)malloc(n*sizeof(int));
    for(int i=0;i<n;i++)
    {
        scanf("%d",a+i);
    }
    int count=1;
    
    for(int i=1;i<n;i++)
    {
        int j=0;
        for( j=0;j<i;j++)
        {
            if(a[i]==a[j])
            break;
        }
            if(i==j)
            count++;
        
    }
    printf("%d",count);
    return 0;
}
7. Inversion Count 

#include<stdio.h>
#include<stdlib.h>

int main()
{
int n,*arr,count=0;
scanf("%d",&n);
arr=(int*)malloc(n*sizeof(int));
for(int i=0;i<n;i++)
{
    scanf("%d",arr+i);
}
for(int i=0;i<n;i++)
{
    for(int j=i+1;j<n;j++)
    {
        if(*(arr+i)>*(arr+j))
        {
            int temp=*(arr+i);
            *(arr+i)=*(arr+j);
            *(arr+j)=temp;
            count++;
        }
    }
}
printf("%d",count);
return 0;
}
8.  Maximum Difference 

#include<stdio.h>
int maxdiff(int a[],int n)
{
    int max_diff=a[1]-a[0];
    int i,j;
    for( i=0;i<n;i++)
    {
        for( j=i+1;j<n;j++)
        {
            if(a[j]-a[i]>max_diff)
            {
                max_diff=a[j]-a[i];
            }
        }
    }
    return max_diff;
}
int main()
{
    int x,temp;
    scanf("%d",&x);
    int a[x];
    for(int i=0;i<x;i++)
    {
        scanf("%d",&a[i]);
    }
    temp=maxdiff(a,x);
    printf("%d",temp);
}
9. Array Type

#include<stdio.h>
#include<stdlib.h>

int findType(int n,int *arr)
{
    int even=0,odd=0;
    for(int i=0;i<n;i++)
    {
        if(*(arr+i)%2==0)
        even++;
        else
        odd++;
    }
    if(even==n)
    return 1;
    else if(odd==n)
    return 2;
    else
    return 3;
}
int main()
{
    int *arr,n;
    printf("Enter the number of elements in the array\n");
    scanf("%d",&n);
    arr=(int*)malloc(n*sizeof(int));
    printf("Enter the elements in the array\n");
    for(int i=0;i<n;i++)
    {
        scanf("%d",arr+i);
    }
    int a=findType(n,arr);
    switch(a)
    {
        case 1:printf("The array is Even");break;
        case 2:printf("The array is Odd");break;
        case 3:printf("The array is Mixed");break;
    }
    return 0;
}
10. Fruit Yielding Tree

#include<stdio.h>
#include<stdlib.h>
void find(int *a,int *max,int n)
{
    int maxx = -1,i,v,s;
    for(i=0;i<n;i++)
    {
        v=*(a+i);
        if(v>maxx)
        {
            s=i;
            maxx=v;
        }
    }
    *max=maxx;
    *(a+s)=-1;
}

int main()
{
    int *a,n,i,max=-1;
    scanf("%d",&n);
    a=(int*)malloc(sizeof(int)*n);
    for(i=0;i<n;i++)
    {
        scanf("%d",a+i);
    }
    find(a,&max,n);
    find(a,&max,n);
    printf("%d",max);
    return 0;
}
2 D Arrays and Strings 

1. Matrix Addition

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int mat1[n][n],mat2[n][n],mat3[n][n];
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            scanf("%d",&mat1[i][j]);
        }
    }
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
    scanf("%d",&mat2[i][j]);
    
    for(int i=0;i<n;i++)
    {
    for(int j=0;j<n;j++)
    {
    mat3[i][j]=mat1[i][j]+mat2[i][j];
    printf("%d ",mat3[i][j]);
    }
    printf("\n");
    }
}
2. Magic Square

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int mat[n][n],a[n],b[n],sum=0,m,l,c=0;
    for(int i=0;i<n;i++)
    {
    for(int j=0;j<n;j++)
    {
        scanf("%d",&mat[i][j]);
    if(i==j)
    sum+=mat[i][j];
    }
    }
    m=sum;
    sum=0;
    for(int i=0;i<n;i++)
    {   for(int j=0;j<n;j++)
        sum+=mat[i][j];
    a[i]=sum;
    sum=0;
    }
    sum=0;
    for(int j=0;j<n;j++)
    {for(int i=0;i<n;i++)
    sum+=mat[j][i];
    b[j]=sum;
    sum=0;
     }
    sum=0;
    int j=n-1;;
    for(int i=0;i<n;i++)
    {sum+=mat[i][j];
    j--;
    }
    l=sum;
    
    if(l==m)
    {
        for(int i=0;i<n;i++)
        {
        if((a[i]==l)&&(b[i]==l))
        c++;
        }
        if(c==n)
        printf("yes");
        else
        printf("no");
    }
    else
    printf("no");
    
}
3. Image Enlarger

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int m,n;
    scanf("%d%d",&m,&n);
    char **arr;
    arr=(char**)malloc(sizeof(char*)*m);
    for(int i=0;i<m;i++)
    *(arr+i)=(char*)malloc(sizeof(char)*n);
    for(int i=0;i<m;i++)
    scanf("\n%s",*(arr+i));
    int a;
    scanf("\n%d",&a);
    for(int i=0;i<m;i++)
    for(int u=0;u<a;u++)
    {
    for(int j=0;j<n;j++)
    for(int k=0;k<a;k++)
    printf("%c",*(*(arr+i)+j));
    printf("\n");
    }
    return 0;
}
4. Chess Board 2

#include<stdio.h>
int main()
{
    int n,x1,x2,y1,y2;
    scanf("%d%d%d%d%d",&n,&x1,&x2,&y1,&y2);
    char a[n][n];
    int m=n-1;
    x1=x1-1;
    x2=x2-1;
    y1=y1-1;
    y2=y2-1;
    a[x1][x2]='B';
    a[y1][y2]='R';
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            a[i][j]='.';
        }
    }
    a[x1][x2]='B';
    a[y1][y2]='R';
    int i=x1,j=x2;
    if(x1!=0 && y1!=0)
    {
    while(1)
    {
        --i;
        --j;
        if(i==0 || j==0)
        {
            break;
        }
    }
    }
    while(1)
    {
        if(a[i][j]=='B'||a[i][j]=='R')
        {
        if(i==m || j==m)
        break;
        i++;
        j++;
        continue;}
        else
        {
            a[i][j]='*';
        }
        
        if(i==m ||j==m)
        break;
        i++;
        j++;
    }
    i=x1;
    j=x2;
    if(x1!=0 && x2!=m)
  {
    while(1)
    {
        --i;
        ++j;
        if(i==0 || j==m)
        break;
    }
  }
    while(1)
    {
     if(a[i][j]=='B'||a[i][j]=='R')
     {
         if(i==m || j==0)
         break;
         ++i;
         --j;
         continue;
     }
     else
     a[i][j]='*';
     if(i==m || j==0)
     break;
     ++i;
     --j;
    }
    
    i=y1;
    j=y2;
    for(int u=0;u<n;u++)
    {
        if(a[i][u]=='B'||a[i][u]=='R')
        continue;
        else if(a[i][u]=='*')
        a[i][u]='%';
        else
        a[i][u]='$';
    }
    for(int u=0;u<n;u++)
    {
        if(a[u][j]=='B'||a[u][j]=='R')
        continue;
        else if(a[u][j]=='*')
        a[u][j]='%';
        else
        a[u][j]='$';
    }
    for(int u=0;u<n;u++)
    {
        for(int k=0;k<n;k++)
        {
            printf("%c",a[u][k]);
        }
        printf("\n");
    }
    
    return 0;
        
    
}
5. Row vs Col

#include<stdio.h>
#include<stdlib.h>
int **readMatrix(int rows,int cols)
{
    int** arr =(int**)malloc(rows * sizeof(int*));
    for(int i=0;i<rows;i++)
    {
        *(arr+i)=(int*)malloc(cols * sizeof(int));
    }
    for(int i=0;i<rows;i++)
    {
        for(int j=0;j<cols;j++)
        {
            scanf("%d",*(arr+i)+j);
        }
    }
    return arr;
}
void displayMatrix(int **a,int rows,int cols)
{
    for(int i=0;i<rows;i++)
    {
        for(int j=0;j<cols;j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
}
int findRowDominantMatrix(int **a,int rows,int cols)
{
    int max=0,c=0;
    for(int i=0;i<rows;i++)
    {
        int temp =0;
        for(int j=0;j<cols;j++)
        {
            temp+=a[i][j];
        }
        if(max<temp)
        {
            max=temp;
        }
    }
    for(int j=0;j<cols;j++)
    {
        int t=0;
        for(int i=0;i<rows;i++)
        {
            t+=a[i][j];
        }
        if(max<t)
        {
            c++;
        }
    }
    if(c==0)
    return 1;
    else 
    return 0;
}
int main()
{
    int m,n,**arr,s;
    scanf("%d%d",&m,&n);
    arr= readMatrix(m,n);
    displayMatrix(arr,m,n);
    s=findRowDominantMatrix(arr,m,n);
    if(s==1)
    printf("Row Dominant");
    else
    printf("Not Row Dominant");
    return 0;
}
6. Delete Vowels

#include<stdio.h>
#include<string.h>
int main()
{
   char name[200];
   int n;
   printf("Enter the input string\n");
   scanf("%s",name);
   n=strlen(name);
   printf("The output string is ");
   for(int i=0;i<n;i++)
   {
       if(name[i]=='a'||name[i]=='e'||name[i]=='i'||name[i]=='o'||name[i]=='u')
       continue;
       printf("%c",name[i]);
   }

}
7. Operations on Strings

#include<stdio.h>
#include<stdlib.h>
int findStringLength(char *a)
{
    int i =0;
    while(*(a+i)!='\0')
    i++;
    return i;
    
}
char  *findStringReverse(char *a)
{
    int j=0;
    char *b;
    b=(char*)malloc(sizeof(char)*findStringLength(a));
    for(int i=findStringLength(a)-1;i>=0;i--)
    {
        *(b+j)=*(a+i);
        ++j;
    }
    return b;
}
char  *concatenateStrings(char *a,char *b)
{
    char *q;
    int n=findStringLength(a)+findStringLength(b),j=0;
    q=(char*)malloc(sizeof(char)*n);
    for(int i=0;i<findStringLength(a);i++)
    {
        *(q+j)=*(a+i);
        j++;
    }
    for(int i=0;i<findStringLength(b);i++)
    {
       *(q+j)=*(b+i);
       j++;
    }
    return q;
}
int compareStrings(char *a,char *b)
{
    if(findStringLength(a)>=findStringLength(b))
   { for(int i=0;i<findStringLength(a);i++)
        if(*(a+i)==*(b+i))
        continue;
        else if((*(a+i))<*(b+i))
        return -1;
        else
        return 1;
   }
    else
    {
    for(int i=0;i<findStringLength(b);i++)
    if(*(a+i)==*(b+i))
    continue;
    else if(*(a+i)<*(b+i))
    return -1;
    else
    return 1;
    }
    return 0;
}
int main()
{
    int compare,l1,l2,n=50;
    char *a,*b,*c,*d,*e;
    a=(char*)malloc(sizeof(char)*n);
    b=(char*)malloc(sizeof(char)*n);
    c=(char*)malloc(sizeof(char)*n);
    d=(char*)malloc(sizeof(char)*n);
    e=(char*)malloc(sizeof(char)*n);
    scanf("%s",a);
    scanf("%s",b);
    l1=findStringLength(a);
    l2=findStringLength(b);
    printf("Length of the first string is %d\n",l1);
    printf("Length of the second string is %d\n",l2);
    c=findStringReverse(a);
    d=findStringReverse(b);
    printf("The reverse of the first string is %s\n",c);
    printf("The reverse of the second string is %s\n",d);
    e=concatenateStrings(a,b);
    printf("The concatenated string is %s\n",e);
    compare=compareStrings(a,b);
    if(compare==1)
    printf("%s appears before %s",b,a);
    else if(compare==-1)
    printf("%s appears before %s",a,b);
    else
    printf("Both the input strings are same");
    return 0;
}
8. First non - repeating Letter

#include<stdio.h>
#include<string.h>
int main()
{
    char name[50];
    int j,d=0,c=0,n;
    scanf("%s",name);
    n=strlen(name);
    for(int i=0;i<n;i++)
    {
        d=0;
        for(j=0;j<n;j++)
        {
            if(name[i]==name[j])
            d++;
        }
        if(d==1)
        {
            printf("%c",name[i]);
               c++;
            break;
            
        }
    }
    if(c==0)
    printf("All characters are repetitive");
}
9. Author Name III

#include<stdio.h>
int main()
{
    char a[4],name[4],b[30];
    a[0]='A';
    int d=0;
    for(int i=0;i<3;i++)
    {
        scanf("%s",b);
        a[i+1]=b[0];
    
        
        
    }
    
    scanf("%s",name);
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<4;j++)
        {
            
            if(a[i]==name[j])
            {
                name[j]='@';
                d++;
                break;
            }
            
        }
    }
    if(d==4)
    printf("yes");
    else
    printf("no");
    
    return 0;
}
10. Special Name 3

#include<stdio.h>
#include<string.h>
#include<ctype.h>

int main()
{
    int b[30],c=0,d=0,n;
    char name[30];
    scanf("%s",name);
    n=strlen(name);
    for(int i=0;i<n;i++)
    {
        char ch=name[i];
       name[i]=tolower(ch);
       b[i]=name[i];
       if(b[i]<=109)
       c++;
       else
       d++;
        
    }
    if(c==d)
    printf("yes");
    else
    printf("no");
    
}


1. Recursion 2

#include<stdio.h>
int fibo(int n)
{
    if(n==1)
    return 0;
    else if(n==2)
    return 1;
    else
    return fibo(n-2)+fibo(n-1);
}
int main()
{
int n,f;
printf("Enter the value of n\n");
scanf("%d",&n);
f=fibo(n);
printf("The term %d in the fibonacci series is %d",n,f);

return 0;
}
2. Maximum Element in array

#include<stdio.h>
int i=0;
int max=0;

int findMaxElement(int *a,int b)
{


if(i<b)
{
    if(a[i]>max)
    max=a[i];
    i++;
    return findMaxElement(a,b);
}
return max;
}
int main()
{
	int n,res;
	printf("Enter the size of the array\n");
	scanf("%d",&n);
	printf("Enter %d elements of an array\n",n);
	int a[n];
	for(int i=0;i<n;i++)
	{
	    scanf("%d",&a[i]);
	}
    res=findMaxElement(a,n);
    printf("Maximum element in the array is %d",res);
	
	return 0;
}
3. Conversion of base 10 no to any base

#include<stdio.h>
#include<string.h>

void convert(int n, int b);

int main()
{
int n,b;
printf("Enter the value of n\n");
scanf("%d",&n);
printf("Enter the base to which you want to convert\n");
scanf("%d",&b);
convert(n,b);
printf("\n");
return 0;
}

void convert(int n, int x)
{
  char * convString ="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  if(n%x==n)
  {
      printf("The number in base %d is ",x);
      printf("%c",convString[n]);
  }
  else
  {
      convert(n/x,x);
      printf("%c",convString[n%x]);
  }
  
   
}
4. String Replace Characters

#include<stdio.h>
#include<stdlib.h>
void replace (char *s,char from,char to)
{
       static int i=0;
       if(!*(s+i))
       return;
       if(*(s+i)==from)
       *(s+i)=to;
       i++;
       replace(s,from,to);
}
int main()
{
    char s[200],b,c;
    printf("Enter the string\n");
    scanf("%s%*c",s);
    printf("Enter the character to be replaced\n");
    scanf("%[^\n]%*c",&b);
    printf("Enter the character to be replaced with\n");
    scanf("%c",&c);
    replace(s,b,c);
    printf("The modified string is %s",s);
    
	return 0;
}
5. Find no of connected objects

#include<stdio.h>
#include<stdlib.h>
void objectCount(int **a,int i,int j,int row,int col)
{
    int d=0;
    if(i<0 || i>=row)
    d=0;
    else if(j<0 || j>=col)
    d=0;
    else
    d=1;
    if(d)
    {
    if(*(*(a+i)+j))
    {
        a[i][j]=0;
        objectCount(a,i-1,j-1,row,col);
        objectCount(a,i-1,j,row,col);
        objectCount(a,i-1,j+1,row,col);
        objectCount(a,i,j-1,row,col);
        objectCount(a,i,j+1,row,col);
        objectCount(a,i+1,j-1,row,col);
        objectCount(a,i+1,j,row,col);
        objectCount(a,i+1,j+1,row,col);
    }
    }
    
}
int main()
{
    int r,c,count=0;
    printf("Enter number of rows:\n");
    scanf("%d",&r);
    printf("Enter number of columns:\n");
    scanf("%d",&c);
    int **a = malloc(r * sizeof(int *));
    for(int i=0;i<r;i++)
    *(a+i)=malloc(c * sizeof(int));
    printf("Enter the matrix:\n");
	for(int i=0;i<r;i++)
	{
	    for(int j=0;j<c;j++)
	    scanf("%d",(*(a+i)+j));
	}

	for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        if(a[i][j]==1)
        {
            count++;
           objectCount(a,i,j,r,c);
        }
    }
	printf("Number of connected objects = %d",count);
	return 0;
}
6. Flipkart

#include<stdio.h>
struct phone
{
	int emino,model;
	char name[30],color[30];


	}s;
int main()
{
	printf("Enter the emino:\n");
	scanf("%d",&s.emino);
	printf("Enter the name:\n");
	scanf("%s",s.name);
	printf("Enter the colour:\n");
	scanf("%s",s.color);
	printf("Enter the model:\n");
	scanf("%d",&s.model);
	printf("Details:\nEmino:%d\nName:%s\nColour:%s\nModel:%d",s.emino,s.name,s.color,s.model);;

	return 0;
}
7. Structures : Student

#include<stdio.h>
#include<string.h>
struct Student
{
    char name[30];
    char department[20];
    int yearOfStudy;
    float cgpa;
};

int main()
{
    int n,i,j;
    printf("Enter the number of students\n");
    scanf("%d",&n);
    struct Student temp;
    struct Student std[n];
    for(i=0;i<n;i++)
    {
        printf("Enter the details of student %d\n",i+1);
        printf("Enter name\n");
        scanf("%s",std[i].name);
        printf("Enter department\n");
        scanf("%s",std[i].department);
        printf("Enter year of study\n");
        scanf("%d",&std[i].yearOfStudy);
        printf("Enter cgpa\n");
        scanf("%f",&std[i].cgpa);
    }
    for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(strcmp(std[i].name,std[j].name)>0)
            {
            temp=std[i];
            std[i]=std[j];
            std[j]=temp;
            }
        }
    }
    //fill your code
    printf("Details of students\n");
    for(i=0;i<n;i++)
    {
      printf("Student %d\n",i+1);
      printf("Name : %s\n",std[i].name);
      printf("Department : %s\n",std[i].department);
      printf("Year of study : %d\n",std[i].yearOfStudy);
      printf("CGPA : %.2f\n",std[i].cgpa);
    }
    return 0;
    
}
8. Structures Student II

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct Student{
  char name[30];
  char department[20];
  int yearOfStudy;
  float cgpa;
};
void sortRecords(struct Student *s,int n)
{
    struct Student temp;
    int i,j;
    for(i=0;i<n;i++)
    {
        for(j=0;j<n-i-1;j++)
        {
            if(strcmp((s+j)->name,(s+j+1)->name)>0)
            {
                temp=*(s+j);
                *(s+j)=*(s+j+1);
                *(s+j+1)=temp;
            }
        }
    }
}

void dispStudentDetails(struct Student *s){
  printf("Name : %s\n", (s->name));
  printf("Department : %s\n",s->department);
  printf("Year of study : %d\n", s->yearOfStudy);
  printf("CGPA : %.2f\n", s->cgpa);
}


void dispStudentNamesFromYear(struct Student * s, int year, int n){
  printf("Students from Year %d\n", year);
  int i;
  for(i=0;i<n;i++)
  {
      if((s+i)->yearOfStudy==year)
      {
          printf("%s\n",(s+i)->name);
      }
  }
}

void dispStudentNamesFromDept(struct Student * s, char * dept, int n){
  printf("Students from Department %s\n", dept);
  int i;
  for(i=0;i<n;i++)
  {
      if(strcmp((s+i)->department,dept)==0)
      {
          printf("%s\n",(s+i)->name);
      }
  }
}

void dispDeptTopperDetails(struct Student * s, char * dept, int n){
  printf("%s Department Topper Details\n", dept);
  float max=0.0f;
  int pos,i;
  for(i=0;i<n;i++)
  {
      if(strcmp((s+i)->department,dept)==0)
      {
          if(max<(s+i)->cgpa)
          {
              pos=i;
              max=(s+i)->cgpa;
          }
      }
  }
  dispStudentDetails(s+pos);
}

void dispTopperDetails(struct Student * s, int n)
{
  printf("Overall Topper Details\n");
  float max=0.0f;
  int pos,i;
  for(i=0;i<n;i++)
  {
      if(max<(s+i)->cgpa)
      {
          pos=i;
          max=(s+i)->cgpa;
      }
  }
  dispStudentDetails(s+pos);
}

void updateCGPA(struct Student * s){
    s->cgpa=s->cgpa+0.5;
 }

void printMenu(){
  printf("Menu\n1)Display names of students from a particular year\n");
  printf("2)Display names of students from a particular department\n");
  printf("3)Display all details of the student having the highest CGPA\n");
  printf("4)Display all details of the student from a particular department having the highest CGPA\n");
  printf("5)Display all details of a particular student (Search by name)\n");
  printf("6)Display all details of all students\n");
  printf("7)Update CGPA of a particular student\n");
  printf("8)Exit\n");
}


int main(){
    int n,i,choice;
    struct Student *a;
    printf("Enter the number of students\n");
    scanf("%d",&n);
        a=(struct Student*)malloc(n*sizeof(struct Student));

    for(int i=0;i<n;i++)
    {
        printf("Enter the details of student %d\n",i+1);
        printf("Enter name\n");
        scanf("%s",(a+i)->name);
        printf("Enter department\n");
        scanf("%s",(a+i)->department);
        printf("Enter year of study\n");
        scanf("%d",&(a+i)->yearOfStudy);
        printf("Enter cgpa\n");
        scanf("%f",&(a+i)->cgpa);
        
    }
  int year;
  char dept[100];
  char nameSearch[100];
  int flag=0;
  sortRecords(a,n);

do {
  printMenu();
  flag=0;
  printf("Enter your choice\n");
  scanf("%d",&choice);
  switch(choice) {
    case 1:
     printf("Enter the year\n");
     scanf("%d",&year);
     dispStudentNamesFromYear(a,year,n);
     break;
     
    case 2:
     printf("Enter the department\n");
     scanf("%s",dept);
     dispStudentNamesFromDept(a,dept,n);
     break;
     
     //Fill in the code
    case 3:
    dispTopperDetails(a,n);
    break;
     //Fill in the code
    case 4:
     printf("Enter the department\n");
     scanf("%s",dept);
     dispDeptTopperDetails(a,dept,n);
     break;
    case 5:
     printf("Enter the name\n");
     scanf("%s",nameSearch);
     for(i=0;i<n;i++)
     {if(strcmp(nameSearch,(a+i)->name)==0)
     {flag=1;
     dispStudentDetails((a+i));
     break;
     }
     }
     if(flag==0)
     printf("Student by name %s not found\n", nameSearch);
     break;
     //Fill in the code
    case 6:
    for(i=0;i<n;i++)
    {
        dispStudentDetails((a+i));
    }
    break;
    
     //Fill in the codebreak;
    case 7:
     printf("Enter the name\n");
     scanf("%s",nameSearch);
     for(i=0;i<n;i++)
     {
         if(strcmp((a+i)->name,nameSearch)==0)
         {
             updateCGPA(a+i);
             break;
         }
     }
     break;
    default:
    exit(0);
     //Fill in the code
  }
}while(1);
  return 0;
}