common c programming problem (solved)
DESCRIPTION
Common C programming problem (solved)TRANSCRIPT
CSE 1287Computer Programming, Spring Fall 2010
Final Exam Course Outline.
In Final Exam, there will be 7 Questions,You have to answer any 5 Questions (5x14=70). Each question may comprise ofPrograms, short questions, finding outputs etc.
Possible Programs to study for the Final Exam
1. Write a program to detect if a number is positive or negative
#include<stdio.h>#include<conio.h>void main(){clrscr();int a;scanf("%d", &a);if (a>=0) printf("The number is positive.");else printf("The number is negetive.");getch();}
2. Write a program to detect if a number is even or odd.
#include<stdio.h>#include<conio.h>
void main(){ clrscr();
int num;
printf(" Enter number: "); scanf("%d",&num);
if(num%2==0)
1
1
printf("\n !!!The number is even!!!"); else printf("\n !!!The number is odd!!!");
getch();
}
3. Perform Addition, subtraction, division etc. based on user’s choice.
4. Write a program to find Maximum/Minimum of N integer/long numbers.#include<stdio.h>#include<conio.h>
void main(){ clrscr();
int num,max,i,n;
printf(" How many number: "); scanf("%d",&n);
printf("Enter %d number:",n); scanf("%d",&num);
max=num; min=num; for(i=0;i<n-1;i++) for(i=0;i<n-1;i++) { scanf("%d",&num); { scanf(“%d”,&num); if(num>max) if(num<min) max=num; min=num; } }
printf("The maximum is : %d ",max); printf(“The minimum is : %d”,min);
getch();
}
2
2
5. Finding Factorial of a given value from keyboard.
#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();
}
6. Finding sum of the individual digits of a given number.#include<stdio.h>#include<conio.h>
void main(){ clrscr();
int num,sum; scanf("%d",&num); sum=0; while(1) { sum=sum+(num%10); num=num/10; if(num%10==0) break; }
3
3
printf("%d",sum);getch();
}
7. Finding Maximum/Minimum digit from a given long number.
#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. GCD (Greatest common divisor) of two integer numbers.
#include<stdio.h>#include<conio.h>
void main(){clrscr();int a,b,rem;
4
4
scanf("%d %d", &a,&b);while(b>0) { rem=a%b; a=b; b=rem; }
printf("%d",a);
getch();
}
9. Calculate the average of N positive integers.
#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()
5
5
{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");elseprintf("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");elseprintf("not prime");getch();
}
6
6
12. Write a program to generate first 4 perfect numbers.
#include<stdio.h>#include<conio.h>
void main(){clrscr();int sum,i,num,count;num=1;count=0;
for( ; ; ){sum=0;i=1;while(i<=num/2) { if (num%i==0) sum=sum+i; ++i; }
if(sum==num) { printf("%d ",num); count++; }
if(count>3) break;
num++;
}
getch();
}
7
7
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(){
8
8
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();
}
15. Finding Prime Factors of a long positive integer.
#include<stdio.h>#include<conio.h>
void main(){clrscr();int num,i,res;
scanf("%d",&num);
for(i=2; ; ){ if(num%i==0) {res=num/i; printf("%d ",i); } else if (res==1) break; num=res; if (num%i!=0) ++i;
}getch();
9
9
}
16. Detect if a number is Happy Number or not .
#include<stdio.h>#include<conio.h>#include<math.h>
int suma[810];
void main(){ clrscr(); long num,sum,rem; scanf("%ld",&num); while(1)
{ sum=0; while(num>0)
{ rem=num%10; sum=sum+pow(rem,2); num=num/10; }
if(sum==1) { printf("Happy number"); break; }
if(suma[sum]==1) { printf("Not Happy number"); break; }
suma[sum]=1; num=sum; }
getch();
10
10
}
Single Dimension array
17. Search an item from an array list#include<stdio.h>#include<conio.h>
#define size 100void main(){clrscr();int num[size],i,n,data,found;scanf("%d",&n);for(i=0;i<n;++i) scanf("%d",&num[i]);scanf("%d",&data);found=0;for(i=0;i<n;++i) { if(num[i]==data) { found=1; break; } }if(found==1)printf("data is found at %d index",i);elseprintf("data not found");
getch();}
18. Finding Maximum or Minimum number from an array list.#include<stdio.h>#include<conio.h>
11
11
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();}
19. Finding Nth Minimum or Maximum from an array list
#include<stdio.h>#include<conio.h>
void main(){ clrscr(); int a[15]={1,15,2,54,5,1,59,58,47,48,4,5,22,64,45}; int n,i,j,temp; scanf("%d",&n); for(i=0;i<15;++i) { for(j=i+1;j<15;++j) { if(a[i]<=a[j])
{ temp=a[i]; a[i]=a[j]; a[j]=temp; }
} } for(i=0;i<15;++i) printf("%d ",a[i]);
12
12
printf("\n%dth maximum %d",n,a[n-1]); printf("\n%dth minimum %d",n,a[15-n-1]);
getch();}
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
13
21. Reversing a sentence without using standard String Reverse function
#include<stdio.h>#include<conio.h>#include<string.h>
void main(){clrscr();char str1[100];char str2[100];int i,j,len;gets(str1);len=strlen(str1);j=0;for(i=len-1;i>=0;--i) { str2[j]=str1[i]; ++j; }strcpy(str1,str2);str1[len]='\0';
printf("%s",str1);getch();}
22. Detect number of words in a sentence.
#include<stdio.h>#include<conio.h>#include<string.h>
void main(){clrscr();char str[100];int i,len,count;gets(str);
14
14
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();}
24. Checking a word for palindrome
#include<stdio.h>#include<conio.h>#include<string.h>
15
15
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();}
25. Average of N floating point numbers using an array
#include<stdio.h>#include<conio.h>void main(){ clrscr(); float a[100]; float sum,avg; int i,n; printf("Input n:"); scanf("%d",&n); printf(“Enter %d elements: ”,n); for(i=0;i<n;i++) { scanf("%f",&a[i]);
16
16
} 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
17
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();}
27. Inserting an element in an array which is sorted in ascending/descending order
#include<stdio.h>#include<conio.h>
void main(){clrscr();int num[100];int n,i,j,temp,data;scanf("%d",&n);for(i=0;i<n;++i) scanf("%d",&num[i]);
for(i=0;i<n;++i)
18
18
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();}
28. Deletion of an element from an array list.
#include<stdio.h>#include<conio.h>
#define size 100void main(){clrscr();int num[size],i,j,n,data,count;scanf("%d",&n);for(i=0;i<n;++i) scanf("%d",&num[i]);scanf("%d",&data);
19
19
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();}
29. Print an array of N elements in reverse order.
#include<stdio.h>#include<conio.h>void main(){ clrscr(); int a[100],a2[100]; int i,n,j;
printf("Input n:"); scanf("%d",&n); printf("Input %d numbers: ",n); for(i=0;i<n;i++) { scanf("%d",&a[i]); }
for(i=n-1;i>=0;i--) printf("\n%d",a[i]);
getch();
20
20
}
30. Finding common characters from two given character strings.
#include<stdio.h>#include<conio.h>#include<string.h>
void main(){clrscr();char str1[100];char str2[100];char str3[100];int len1,len2,i,c,j,k;gets(str1);gets(str2);len1=strlen(str1);len2=strlen(str2);k=0;for(i=0;i<len1;++i) { for(j=0;j<len2;++j) { if(str1[i]==str2[j])
{ str3[k]=str1[i]; ++k;
}
}
}
for(i=0;i<k;++i) { c=0; for(j=i-1;j>=0;--j) {
21
21
if(str3[i]==str3[j]) c++; } if(c==0) printf("%c",str3[i]);
}
31. Writing programs in C for number system conversion Binary to Decimal
#include<stdio.h>#include<conio.h>#include<math.h>#include<string.h>
void main(){ clrscr();
char bin[30]; long sum; int i,len,pval; gets(bin); len=strlen(bin); pval=len-1; sum=0;
for(i=0;i<len;i++) { sum=sum+(bin[i]- 48)*pow(2,pval); pval--; } printf("The decimal value is:%ld",sum);
getch();}
22
22
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
23
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
24
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;}
32. Sort an Array of N integers using Bubble Sort technique.
#include<stdio.h>#include<conio.h>
void main(){ clrscr();
int a[100]; int i,j,n,temp;
printf("Enter length: "); scanf("%d",&n);
printf(" Enter %d elements: ",n); for(i=0;i<n;i++) scanf("%d",&a[i]);
for(i=0;i<n-1;i++) {
for(j=i+1;j<n;j++){ if(a[i]>a[j]) {
temp=a[i];
25
25
a[i]=a[j];a[j]=temp;
}}
}
printf("\nSorted array is: "); for(i=0;i<n;i++) printf("%d\t",a[i]);
getch();}
33. Calculating Standard deviation from an array list#include<stdio.h>#include<conio.h>#include<math.h>
void main()
{ clrscr(); float num[100]; float sum,sd,avg; int n,i; scanf("%d",&n); sum=0.0; for(i=0;i<n;++i) { scanf("%f",&num[i] ); sum=sum+num[i]; } avg=sum/n; sum=0.0; for(i=0;i<n;++i) { sum=sum+pow((avg-num[i]),2); } sd=sqrt(sum/n); printf("%f",sd);
getch();
26
26
}
34. Median calculation from an array list
#include<stdio.h>#include<conio.h>
void main(){ clrscr(); int a[100],n,i,j,temp; float t1; scanf("%d",&n); for(i=0;i<n;++i) scanf("%d",&a[i]); for(i=0;i<n;++i) { for(j=i+1;j<n;++j) { if(a[i]>=a[j])
{ temp=a[i]; a[i]=a[j]; a[j]=temp; }
} }
printf("After sorting"); for(i=0;i<n;++i) printf(" %d ",a[i]);
if(n%2!=0) printf("\n\nThe median of the array list is %d",a[n/2]); else { t1=(a[n/2]+a[(n/2)-1])/2.0; printf("\n\nThe median of the array list is %f",t1);
27
27
}
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
28
getch();}
36. Finding LCM (Least Common Multiple) of N numbers
#include<stdio.h>#include<conio.h>
void main(){clrscr();int i,j,n,l,c1,c2;int num[100];
scanf("%d",&n);
for(i=0;i<n;++i) scanf("%d",&num[i]);
j=2;l=1;while(1) { c2=0; c1=0; for(i=0;i<n;++i) { if(num[i]%j==0)
num[i]=num[i]/j; else
c1++; if(num[i]==1)
c2++; } if(c1>=0&&c1<n)
l=l*j; if(c1==n)
j++; if(c2==n) break; }
29
29
printf("Lcm is %d",l);getch();
}
37. Addition of two Large Decimal or Binary numbers using String
#include<stdio.h>#include<conio.h>#include<string.h>
char str1[100]; char str2[100]; char str3[100];
void main(){ clrscr(); int sum,i,len1,len2,len,carry;
gets(str1); gets(str2); 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';
30
30
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
31
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
32
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
33
{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();}
39. Write a function fact(int a) that calculates the factorial of a number
#include<stdio.h>#include<conio.h>
long fact(int a){ int i;long fact=1; for(i=a;i>0;--i) fact=fact*i;
return fact;
}void main(){clrscr(); int n; long facto; scanf("%d",&n); facto=fact(n); printf("The Factorual of the number: %ld",facto);
getch();}
34
34
40. Write a program using function that calculates nCr = (n ! ) / ( !r ) * (n-r)!
#include<stdio.h>#include<conio.h>
long fact(int a){ int i;long fact=1; for(i=a;i>0;--i) fact=fact*i; return fact;}void main(){clrscr(); int n,r; long facto,f1,f2,f3; scanf("%d %d",&n,&r); f1=fact(n); f2=fact(r); f3=fact(n-r); facto=f1/(f2*f3); printf("The nCr is : %ld",facto);getch();}
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
35
}
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();}
42. Write a function IsPrime(int a) that returns 1 if the parameter variable a is a prime number, otherwise 0. Write a main function that calls the IsPrime(a) function and displays whether a given number from keyboard is Prime or not.
#include<stdio.h>#include<conio.h>
int Isprime (int a){ int i; for(i=2;i<a/2;++i)
36
36
{ 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
37
for(i=0;i<n-1;++i) { scanf("%d",&b); res=LCM(res,b); } printf("LCM is %ld",res);
getch();}
Two dimension array
44. Addition of two 2D matrix (ordinary cell by cell Addition)#include<stdio.h>#include<conio.h>
#define r 4#define c 4void 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)
38
38
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 2void 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
39
for(i=0;i<r;++i) { for(j=0;j<c;++j)
{printf(" %d ",mat3[i][j]);}
printf("\n\n"); }
getch();}
46. Transpose a 2D matrix
#include<stdio.h>#include<conio.h>#define r 4#define q 4void main(){ clrscr();int row,col;int num[r][q];int num2[r][q];for(row=0;row<r;++row) { for(col=0;col<q;++col) scanf("%d",&num[row][col]); }
for(row=0;row<r;++row) { for(col=0;col<q;++col) { printf(" %d ",num[row][col]); } printf("\n\n"); }
40
40
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();
}
47. Magic Square of ( N x N ) matrix where N is an odd number.
#include<stdio.h>#include<conio.h>
int matrix[100][100];
void main()
{ clrscr(); int r,c,start,num,n; scanf("%d",&n); start=n/2; num=2;
41
41
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
42
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
43
{ 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
44
}
Recursion48. Find Xn Using recursive functions
#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));}
49. Find factorial of N using a recursive function
#include<stdio.h>#include<conio.h>
long fact(int n);
void main(){ clrscr();
int num;
45
45
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
46
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
47
long sum(int n);
void main(){ clrscr(); int n,i; long res; scanf("%d",&n); for(i=1;i<=n;++i) { res=sum(i); printf("%ld ",res); } getch();}long sum(int n)
{ if(n==1) return 6; if(n==2) return 18;
return(sum(n-1)*sum(n-2));}
48
48