You are on page 1of 6

Practical - C Programming

Q. 1 Following is the menu to be displayed to the user. On selecting a


choice display appropriate result. Number should be accepted from the
user.

Menu

1. Prime Factors
2. Leap Year
3. Sum of all digits
4. Number in reverse order

Solution :-

#include<conio.h>
#include<stdio.h>
void prime(void);
int i , num=0,p,year,ch,primefact=0 ;
int number,nu1,nu,nu2,nu3,sum;
void main(void)
{clrscr();
printf( " enter: \n 0 for leap year,\n 1 for sum of digits,\n 2 for reverse
digits,\n 3 for prime factors\n " );
printf("\n 4 for exit \n");
scanf("%d", &ch);
scanf( "%d", &year);
while(!(ch==4))
{

switch(ch)
{
case 0:
{ printf( "checking leap year \n");

if (year%100==0)
{
if (year%400==0)
printf("leap year");
else
printf ("not leap year" );
}
else if(year%4==0)
{
printf ("leap year" );
}
else
{
printf ("not leap year" );
}
printf ("\n" );
break;
}
case 1:
{
number=year;
nu1=0;
nu1= number/1000;
number= number%1000;
nu1+=number/100;
number=number%100;
nu1+=number/10;
number=number%10 ;
nu1+=number;
// printf("%d %d %d %d\n", nu1,nu2,nu3,nu );

sum=nu1;//+nu2+nu3+nu;
printf("sum of digit is %d\n" ,sum );
printf ("\n" );
break;

}
case 2:
{
{
number=year;
nu1= number/1000;
number= number%1000;
nu2=number/100;
number=number%100;
nu3=number/10;
number=number%10 ;
nu=number;
printf( "print the reverse digit \n");
printf("%d %d %d %d\n", nu,nu3,nu2,nu1 );

sum=nu1+nu2+nu3+nu;
printf("sum of digit is %d\n" ,sum );

}
printf ("\n" );
break;
}

case 3:
{
printf(" prime factor number \n");
num=year;

for(i=2;i<=num;i++)
{
while(num%i==0)
{
primefact++;num=num/i;
if(primefact==1)
printf(" prime factor are %d\n",i);
}
primefact=0;
}
// printf("press enter then enter digit \n");
//getch();

printf ("\n" );
break;
}
}
scanf("%d",&ch);
}

getch();
}

Q. 2 Perform the following operations on integer array of 10


elements. Accept the values from user.

1. Sort an array in ascending order.


2. Display sum of all odd values stored in an array.
3. Display number of even values stored in an array.

Solution:-

#include<conio.h>
#include<stdio.h>
int num,i,j,temp,ascen,odval=0 ;
int a[10];//={9,7,3,6,5 };
void main(void)
{
clrscr();
printf("Enter the numbers u want to sort= ");
scanf( "%d", &num);
// printf("\n ");
printf("\nPress 1 for ascending and 0 for descending= ");
scanf( "%d", &ascen);
// printf("\n ");
if((ascen==1)||(ascen==0))
{
for(i=0;i<num;i++)
{
scanf( "%d", &a[i]);
}
for(i=0;i<num;i++)
{
for(j=0;j<num-1;j++)
{
if(ascen==1)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
else if(ascen==0)
{
if(a[j]<a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}

for(i=0;i<num;i++)
printf("%d\n",a[i]);
printf("\n Following are even values\n");
for(i=0;i<num;i++)
{
if(a[i]%2==0)
{
printf( "\n%d\n",a[i]);
}
else
{
odval+=a[i];
}
}
printf("\nsum of all odd values=%d",odval);
}
getch();
}

You might also like