Common C Programming Problem (Solved)
Common C Programming Problem (Solved)
CSE 1287
Computer Programming, Spring Fall 2010
Final Exam Course Outline.
2
printf("\n !!!The number is even!!!");
else
printf("\n !!!The number is odd!!!");
getch();
}
3.
min=num;
for(i=0;i<n-1;i++)
{ scanf("%d",&num);
if(num>max)
max=num;
}
for(i=0;i<n-1;i++)
{ scanf(%d,&num);
if(num<min)
min=num;
}
getch();
}
5.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int i,n;
long res;
scanf("%d",&n);
res=1;
for(i=n;i>0;--i)
{
res=res*i;
}
printf("the factoriAL IS %ld",res);
getch();
}
4
printf("%d",sum);
getch();
}
7.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
long num,max;
scanf("%ld",&num);
max=num%10;
while(1)
{
num=num/10;
if(num%10>max)
max=num%10;
if(num%10==0)
break;
}
printf("%ld",max);
getch();
}
8.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int a,b,rem;
5
scanf("%d %d", &a,&b);
while(b>0)
{
rem=a%b;
a=b;
b=rem;
}
printf("%d",a);
getch();
}
9.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int n,num,i,sum ;
float avg;
sum=0;
scanf("%d",&n);
for(i=1;i<=n;++i)
{
printf("Enter number?");
scanf("%d",&num);
sum=sum+num;
}
avg=(float)sum/n;
printf("avg is %f", avg);
getch();
}
10. To detect if a number is perfect or not.
#include<stdio.h>
#include<conio.h>
void main()
6
{
clrscr();
int i,num,sum;
scanf("%d",&num);
i=1;
sum=0;
while(i<=num/2)
{
if (num%i==0)
sum=sum+i;
++i;
}
if (sum==num)
printf("the number is perfect");
else
printf("the number is not perfect");
getch();
}
11. To detect if a number is prime or not.(vhul)
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int i,num;
scanf("%d", &num);
i=2;
while (i<=num/2)
{ if (num%2==0)
break;
++i;
}
if(i>num/2)
printf("prime");
else
printf("not prime");
getch();
}
13. First N number of prime number generation where N is an integer given from
keyboard.[see khata ]
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int i,count,num,n;
scanf(%d,n);
count=1;
num=1;
for( ; ; )
{
i=2;
while(i<=num/2)
{
if (num%i==0)
break;
++i;
}
if(i>num/2)
printf ("%d ",num);
++count;
if (count>n)
break;
num++;
}
getch();
}
14. Calculate Xn for given value of x, n (Without using Math functions)
#include<stdio.h>
#include<conio.h>
void main()
{
9
clrscr();
int i, x ,n;
long res;
scanf("%d %d", &x, &n);
res=x;
for(i=1;i<n;++i)
res=res*x;
printf("XN IS %ld",res);
getch();
}
10
}
10
11
}
11
12
void main()
{
clrscr();
int num[100],n,i,max;
scanf("%d",&n);
for(i=0;i<n;++i)
{
scanf("%d",&num[i]);
if(i==0)
max=num[i];
if(num[i]>max)
max=num[i];
}
printf("maximum number is %d",max);
getch();
}
12
13
20. Frequency count for every individual element from an array list
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
clrscr();
int num[100];
int n,i,j,k,c2,count;
scanf("%d",&n);
for(i=0;i<n;++i)
scanf("%d",&num[i]);
for(i=0;i<n;++i)
{
count=0;
for(j=0;j<n;++j)
{
if (num[i]==num[j])
count++;
}
c2=0;
for(k=i-1;k>=0;--k)
{
if(num[i]==num[k])
c2++;
}
if(c2==0)
printf("the number of %d is %d\n", num[i],count);
}
getch();
}
13
14
14
15
len=strlen(str);
count=0;
for(i=0;i<len;++i)
{
if (str[i]==' ')
count++;
}
printf("Number of words in the sentence is %d",count+1);
getch();
}
23. Title case conversion of a given string
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
void main()
{
clrscr();
char str[100];
int i,len;
gets(str);
len=strlen(str);
for(i=0;i<len;++i)
if (isupper(str[i]))
str[i]=tolower(str[i]);
else
str[i]=toupper(str[i]);
puts(str);
getch();
}
15
16
void main()
{
clrscr();
char str1[100];
char str2[100];
int i,len,j,res;
gets(str1);
len=strlen(str1);
j=0;
for(i=len-1;i>=0;--i)
{
str2[j]=str1[i];
++j;
}
str2[len]='\0';
res=strcmp(str1,str2);
if (res==0)
printf("The word is palindrome");
else
printf("The word is not palindrome");
getch();
}
16
17
}
sum=0.0;
for(i=0;i<n;i++)
sum=sum+a[i];
avg=sum/n;
printf("The average is:%f",avg);
getch();
}
26. Merge two array list into one array list by removing the duplicate elements
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
clrscr();
int num1[100];
int num2[100];
int n,i,c,c1,k,j;
printf("Enter number of element?\n");
scanf("%d",&n);
printf("Enter data for 1st Array?\n");
for(i=0;i<n;++i)
scanf("%d",&num1[i]);
printf("Enter data for 2nd Array?\n");
for(i=0;i<n;++i)
scanf("%d",&num2[i]);
c1=0;
j=0;
i=n;
for(;;)
{
c=0;
17
18
for(k=0;k<n;++k)
{
if(num1[k]==num2[j])
++c;
}
if(c==0)
{
num1[i]=num2[j];
c1++;
++i;
}
j++;
if(j==n)
break;
}
printf("\n\nAfter merging and Removing duplicate elements=\n \n ");
for(i=0;i<n+c1;i++)
printf(" %d ",num1[i]);
getch();
}
18
19
for(j=i+1;j<n;++j)
if(num[i]>num[j])
{
temp=num[i];
num[i]=num[j];
num[j]=temp;
}
for(i=0;i<n;++i)
printf("%d ",num[i]);
scanf("\n%d",&data);
for(i=0;i<n;++i)
if(data<=num[i])
{
for(j=n-1;j>=i;--j)
num[j+1]=num[j];
num[i]=data;
break;
}
else
num[n]=data;
for(i=0;i<n+1;++i)
printf("%d ",num[i]);
getch();
}
19
20
count=0;
for(i=0;i<n;++i)
{
if(num[i]==data)
{
count++;
for(j=i+1;j<n;++j)
num[j-1]=num[j];
}
}
for(i=0;i<n-count;++i)
printf("%d ",num[i]);
getch();
}
20
21
}
21
22
if(str3[i]==str3[j])
c++;
}
if(c==0)
printf("%c",str3[i]);
}
22
23
Decimal to Binary
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{ clrscr();
long dec;
int rem,i;
char bin[50];
printf("What is the decimal number?:");
scanf("%ld",&dec);
i=0;
while(dec>0)
{ rem=dec%2;
dec=dec/2;
bin[i]=char(rem+48);
i++;
}
bin[i]='\0';
strrev(bin);
printf("\nThe binary value is:%s",bin);
getch();
}
Decimal to Hex
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{ clrscr();
long dec;
int rem,i;
char bin[50];
printf("What is the decimal number?:");
scanf("%ld",&dec);
23
24
i=0;
while(dec>0)
{ rem=dec%16;
dec=dec/16;
if(rem>9)
bin[i]=char(rem+55);
else
bin[i]=char(rem+48);
i++;
}
bin[i]='\0';
strrev(bin);
printf("\nThe hexadecimal value is:%s",bin);
getch();
}
Hex to Decimal
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<string.h>
long todecimal(char num[]);
void main()
{
clrscr();
char num[30];
long dec;
printf("What is the Hexadecimal number?:");
gets(num);
dec=todecimal(num);
printf("The decimal value is:%ld",dec);
getch();
}
long todecimal(char num[])
{ long sum;
int i,len,pval;
len=strlen(num);
24
25
pval=len-1;
sum=0;
for(i=0;i<len;i++)
{
if(num[i]-48<=9)
sum=sum+(num[i]-48)*pow(16,pval);
else
sum=sum+(num[i]-55)*pow(16,pval);
pval--;
}
return sum;
}
25
26
a[i]=a[j];
a[j]=temp;
}
}
}
printf("\nSorted array is: ");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
getch();
}
26
27
27
28
}
getch();
}
35. Removing duplicate elements from an array list
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
clrscr();
int i,n,j,k,count;
int num[100];
printf("How many element\n?");
scanf("%d",&n);
printf("Enter number?\n");
for(i=0;i<n;++i)
{
scanf("%d",&num[i]);
}
count=0;
for(i=0;i<n;++i)
{
for(j=i+1;j<n-count;++j)
{
if (num[i]==num[j])
{
for(k=j;k<n;++k)
num[k]=num[k+1];
count++;
}
}
}
for(i=0;i<n-count;++i)
printf("%d ",num[i]);
28
29
getch();
}
29
30
printf("Lcm is %d",l);
getch();
}
30
31
sum=(str1[i]-48)+(str2[i]-48)+carry;
if(sum>9)
{
sum=sum%10;
carry=1;
}
else
carry=0;
str3[i]=char(sum+48);
}
if(carry==1)
{
str3[i]='1';
++i;
}
str3[i]='\0';
strrev(str3);
puts(str3);
getch();
}
./*Addition of 2 Binary numbers
using string*/
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
clrscr();
char str1[50],str2[50],str3[55];
int len1,len2,len3,sum,carry,i,len;
printf("Enter 1st Binary number: ");
gets(str1);
printf("Enter 2nd Binary number: ");
gets(str2);
31
32
strrev(str1);
strrev(str2);
len1=strlen(str1);
len2=strlen(str2);
if(len1>len2)
len=len1;
else
len=len2;
carry=0;
for(i=0;i<len;i++)
{
if(str1[i]=='\0')
str1[i]='0';
if(str2[i]=='\0')
str2[i]='0';
sum=(str1[i]-48)+(str2[i]-48+carry);
if(sum>1)
{
sum=sum%2;
carry=1;
}
else
carry=0;
str3[i]=char(sum+48);
}
if(carry==1)
{
str3[i]='1';
i++;
}
str3[i]='\0';
strrev(str3);
printf("The sum is: ");
puts(str3);
32
33
getch();
}
Functions:
Study the Class Lectures so that you can write any programs using functions:
Parameter Passing to a function using call by value and call by reference
Passing Array / character string in a function
Returning values from functions.
38. Write a function GCD( int a, int b) and a main function that calls the GCD(a, b)
function and calculates GCD of 4 numbers.
#include<stdio.h>
#include<conio.h>
int a,b,c,d,res,res1;
int gcd(int a,int b)
{
for(;;)
{
res=b%a;
b=a;
a=res;
if (a==0)
break;
}
return b;
}
void main()
33
34
{
clrscr();
printf("Enter numbers?\n");
scanf("%d %d %d %d",&a,&b,&c,&d);
res1=gcd(a,b);
res1=gcd(c,res1);
res1=gcd(d,res1);
printf("The GCD is %d ",res1);
getch();
}
34
35
41. Write a function Max(int a, int b) and a main function that calls the Max(a, b)
function and calculates Maximum of N numbers.
#include<stdio.h>
#include<conio.h>
int Max(int a,int b)
{
if (a>b)
return a;
else
return b;
35
36
}
void main()
{
clrscr();
int num,n,i,max;
scanf("%d",&n);
scanf("%d",&num);
max=num;
for (i=0;i<n-1;++i)
{
scanf("%d",&num);
max=Max(max,num);
}
printf("%d",max);
getch();
}
36
37
{
if (a%i==0)
return 0;
}
return 1;
}
void main()
{
clrscr();
int num,res;
scanf("%d",&num);
res=Isprime(num);
if (res==1)
printf("The Number is prime");
if(res==0)
printf("The Number is not prime");
getch();
}
43. Write a function LCM( int a, int b) and a main function that calls the LCM(a, b)
function and calculates LCM of 4 numbers.
#include<stdio.h>
#include<conio.h>
long LCM(int a,int b);
void main()
{
clrscr();
long res;
int a,n,i,b;
printf("Calculate LCM of ? numbers ");
scanf("%d",&n);
scanf("%d",&a);
res=a;
37
38
for(i=0;i<n-1;++i)
{
scanf("%d",&b);
res=LCM(res,b);
}
printf("LCM is %ld",res);
getch();
}
38
39
mat3[i][j])=mat1[i][j]+mat2[i][j];
for(i=0;i<r;++i)
{
for(j=0;j<c;++j)
{
printff("%d",mat3[i][j]);
}
printf("\n\n");
}
getch();
}
45. Multiplication of two 2D matrix (ordinary cell by cell multiplication )
#include<stdio.h>
#include<conio.h>
#define r 2
#define c 2
void main()
{
clrscr();
int mat1[r][c];
int mat2[r][c];
int mat3[r][c];
int i,j;
for(i=0;i<r;++i)
for(j=0;j<c;++j)
scanf("%d",&mat1[i][j]);
for(i=0;i<r;++i)
for(j=0;j<c;++j)
scanf("%d",&mat2[i][j]);
for(i=0;i<r;++i)
for(j=0;j<c;++j)
mat3[i][j]=mat1[i][j]*mat2[i][j];
39
40
for(i=0;i<r;++i)
{
for(j=0;j<c;++j)
{
printf(" %d ",mat3[i][j]);
}
printf("\n\n");
}
getch();
}
40
41
printf("\nAfter transposing\n\n");
for(row=0;row<r;++row)
{
for(col=0;col<q;++col)
{
num2[col][row]=num[row][col];
}
}
for(row=0;row<r;++row)
{
for(col=0;col<q;++col)
{
printf(" %d ",num2[row][col]);
}
printf("\n\n");
}
getch();
}
41
42
matrix[0][start]=1;
r=0;
c=start;
while(1)
{ r=r-1;
c=c+1;
if(r<0&&c<n)
{ r=n-1;
matrix[r][c]=num;
}
else if(r>=0&&r<n&&c<n&&matrix[r][c]==0)
{
matrix[r][c]=num;
}
else if(r>=0&&r<n&&c>=n)
{ c=0;
matrix[r][c]=num;
}
else if(r<0&&c>=n)
{ r=r+2;
c=c-1;
matrix[r][c]=num;
}
else if(r>=0&&r<n&&c>=0&&c<n&&matrix[r][c]!=0)
{ r=r+2;
c=c-1;
matrix[r][c]=num;
}
if(n*n==num)
break;
num++;
}
for(r=0;r<n;++r)
{
for(c=0;c<n;++c)
{
printf("%d\t",matrix[r][c]);
}
printf("\n\n");
}
42
43
getch();
}
Structure and Union
#include<stdio.h>
#include<conio.h>
#define total 2
void input();
void calcavg();
void display();
struct list
{
long roll;
float quiz[3],avg;
};
struct list student[total];
void main()
{
clrscr();
input();
calcavg();
display();
getch();
}
void input()
43
44
{
int i,j;
float q;
for(i=0;i<total;++i)
{
printf("Enter roll of student %d\n",i+1);
scanf("%ld",&student[i].roll);
for(j=0;j<3;++j)
{
printf("Enter quiz %d marks\n",j+1);
scanf("%f",&q);
student[i].quiz[j]=q;
}
}
}
void calcavg()
{
int i,j;
float average,sum;
for(i=0;i<total;++i)
{
sum=0.0;
for(j=0;j<3;++j)
{
sum= sum+student[i].quiz[j];
}
average=sum/3;
student[i].avg=average;
}
}
void display()
{
int i,j;
for(i=0;i<total;++i)
{
for(j=0;j<3;++j)
{
printf("student %d quiz %d marks :%f \n",i+1,j+1,student[i].quiz[j]);
}
printf("\nAvg of student %d : %f\n\n",i+1,student[i].avg);
}
44
45
}
Recursion
48. Find X Using recursive functions
n
#include<stdio.h>
#include<conio.h>
long xn(int x,int n);
void main()
{
clrscr();
int x,n;
long res;
scanf("%d %d",&x,&n);
res=xn(x,n);
printf("%ld",res);
getch();
}
long xn(int x,int n)
{
if(n==0)
return 1;
return(x*xn(x,n-1));
}
45
46
long res;
printf("What is the number?=");
scanf("%d",&num);
res= fact(num);
printf("The result is:%ld ",res);
getch();
}
long fact(int n)
{
long res;
res=1;
while(n>1)
{ res=res*n;
n--;
}
return res;
}
50. Finding Nth Fibonacci term using recursion and drawing recursion tree for the
Nth term.
#include<stdio.h>
#include<conio.h>
long fabo(int n);
void main()
{
clrscr();
int n;
long res;
scanf("%d",&n);
res=fabo(n);
printf("%ld",res);
getch();
}
long fabo(int n)
{
46
47
if(n==1)
return 0;
if(n==2)
return 1;
return (fabo(n-1)+fabo(n-2));
}
51. Calculate the sum of the numbers 1 to 100 or 1 to N using a recursive function.
#include<stdio.h>
#include<conio.h>
long sum(int n);
void main()
{
clrscr();
int n;
long res;
scanf("%d",&n);
res=sum(n);
printf("%ld",res);
getch();
}
long sum(int n)
{
if(n==1)
return 1;
return(n+sum(n-1));
}
52. Display the following series up to nth terms using a recursive function 6 18 108
1944 20952
#include<stdio.h>
#include<conio.h>
47
48
48