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);
}#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");
}
}#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;
}