0% found this document useful (0 votes)
44 views6 pages

Workshop 3 Submit

The document contains 10 programs that demonstrate various programming concepts in C language such as: 1) Checking if a number is prime 2) Validating a date 3) Determining if a point lies inside, on, or outside a circle 3) Calculating the factorial of a number

Uploaded by

Thanh Pham
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views6 pages

Workshop 3 Submit

The document contains 10 programs that demonstrate various programming concepts in C language such as: 1) Checking if a number is prime 2) Validating a date 3) Determining if a point lies inside, on, or outside a circle 3) Calculating the factorial of a number

Uploaded by

Thanh Pham
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Program 1:

#include<stdio.h>
#include<math.h>
int prime( int n ) {
int m = sqrt(n);
int i;
if (n<2) return 0;
for ( i=2; i<=m; i++)
if (n%i==0) return 0 ;
return 1;
}
int main(){
int n;
do {
printf("Nhap n: ");
scanf("%d",&n);
}
while(n<2);
for(int i=2; i<n; i++)
{
if(prime(i))
{printf("%d \n",i);}
}
}

Program 2:
#include<stdio.h>
int validDate ( int d, int m, int y) {
int maxd = 31;
if ( d<1 || d>31 || m<1 || m>12) return 0;
if ( m==4 || m==6 || m==9 || m==11) maxd=30;
else if (m==2) {
if ( y%400==0 || ( y%4==0 && y%100!=0)) maxd=29;
else maxd=28;
}
return d<=maxd;
}
int main(){
int d,m,y;
printf("Enter date ");
scanf("%d%d%d",&d,&m,&y);
if(validDate(d,m,y)){
printf("Valid date");}
else {
printf("Invalid date");}
}
Program 3:
#include<stdio.h>
int getRelPos ( double x, double y, double r) {
double d2=x*x + y*y;
double r2= r*r;
if (d2<r2) return 1 ;
else if (d2==r2) return 0 ;
return -1 ;
}
int main(){
double x,y,r;
int result;
printf("Enter the coordinate: ");
scanf("%lf%lf",&x,&y);
do{
printf("Enter r ");
scanf("%lf",&r);
}
while(r<0);
result=getRelPos(x,y,r);
if(result==1){
printf("The point is in the circle");}
else if(result==0){
printf("The point is on the circle");}
else { printf("The point is out of the circle");}
}

Program 4:
#include<stdio.h>
double factorial ( int n) {
double p=1;
int i;
for (i=2; i<=n; i++) p *= i;
return p;
}
int main()
{
int n;
do{
printf("Enter number");
scanf("%d",&n);
}
while(n<0);
printf("%lf",factorial(n));
}
Program 5:
#include<stdio.h>;
double fibo ( int n) {
int t1=1, t2=1, f=1, i ;
for ( i= 3; i<=n; i++){
f= t1 + t2;
t1= t2;
t2=f;
}
return f;
}
int main(){
int n;
do{
printf("Enter n ");
scanf("%d",&n);
}
while(n<1);
printf("%lf",fibo(n));
}

Program 6:
#include<stdio.h>
int isFibonacci (int n)
{ int t1=1, t2=1, f=1;
if (n==1) {return 1; }
while (f<n)
{ f= t1 + t2;
t1=t2;
t2=f;
}
return n==f;
}
int main(){
int n;
do{
printf("Enter n: ");
scanf("%d",&n);
}
while(n<1);
if(isFibonacci(n)==1){
printf("It is a Fibonacci element");}
else{printf("It is not a Fibonacci element");}
}
Program 7:
#include<stdio.h>
int sumDigits (int n)
{ int sum=0;
do
{ int remainder = n%10 ;
n = n/10;
sum += remainder;
}
while (n>0);
return sum;
}
int main(){
int S=0,n;
do{
printf("Enter n: ");
scanf("%d",&n);
if(n>0){
S=sumDigits(n);
printf("S= %d",S);}
}
while (n>=0);
}

Program 8:
#include<stdio.h>
double makeDouble(int ipart, int fraction)
{ double d_f= fraction;
while (d_f >=1) d_f = d_f/10;
if (ipart<0) return ipart - d_f;
return ipart + d_f ;
}
int main(){
int ipart,fraction;
double value;
printf("Enter integral part: ");
scanf("%d",&ipart);
do{
printf("Enter fraction: ");
scanf("%d",&fraction);
}
while(fraction<0);
value=makeDouble(ipart,fraction);
printf("%lf",value);
}
Program 9:
#include<stdio.h>
int gcd( int a, int b)
{ while (a != b){
if (a>b)
{a -=b;}
else {b -= a;}
}
return a;
}
int lcm ( int a, int b)
{ return a*b/ gcd(a,b);
}
int main(){
int a,b,d,m;
do{
printf("Enter a,b: ");
scanf("%d%d",&a,&b);
}
while(a<0|b<=0);
d=gcd(a,b);
m=lcm(a,b);
printf("%d \n",d);
printf("%d",m);
}
Program 10:
#include<stdio.h>
void printMinMaxDigits( int n)
{ int digit;
int min, max ;
digit = n% 10;
n=n/10;
min=max=digit;
while (n>0)
{ digit = n%10;
n=n/10;
if (min > digit) {min=digit;}
if (max < digit) {max=digit;}
}
printf("min %d \n",min);
printf("max %d \n",max);
}
int main(){
int n;
do{
printf("Enter number: ");
scanf("%d",&n);
printMinMaxDigits(n);
}
while(n<0);
}

You might also like