1. Write a C program to count number of digits in a number.
#include <stdio.h>
int main()
{
int a,flag=0;
printf("Enter a number ");
scanf("%d",&a);
while(a!=0)
{
a=a/10;
++flag;
}
printf("Number of digits = %d",flag);
return 0;
}
2. Write a C program to swap first and last digits of a number.
#include <stdio.h>
int main()
{
int n;
int fd,ld,rev;
printf("Enter Number \n");
scanf("%d",&n);
int temp = n;
ld = n%10;
rev = 0;
while(temp>0)
{
fd=temp%10;
rev = rev*10+fd;
temp= temp/10;
}
int newnum = ld;
temp = rev/10;
while(temp>9)
{
newnum = newnum*10+(temp%10);
temp/=10;
}
newnum = fd+(newnum*10);
printf("The reverse number is %d",newnum);
return 0;
}
3. Write a C program to find frequency of each digit in a given integer.
#include <stdio.h>
int main()
{
int num, lastd, i;
int freq [10];
printf("enter number");
scanf ("%d" , &num);
for(i=0; i<10; i++)
{
freq[i] = 0;
}
while (num != 0)
{
lastd = num%10;
freq [lastd]++ ;
num = num/10;
}
for(i=0; i<10; i++)
{
printf("Frequency of %d = %d\n", i, freq[i]);
}
return 0;
4. Write a C program to enter a number and print it in words.
#include <stdio.h>
#include <math.h>
int main()
{
int n, num = 0, digits;
printf("Enter any number to print in words: ");
scanf("%d", &n);
digits = (int) log10(n);
while(n != 0)
{
num = (num * 10) + (n % 10);
n /= 10;
}
digits = digits - ((int) log10(num));
while(num != 0)
{
switch(num % 10)
{
case 0:
printf("Zero ");
break;
case 1:
printf("One ");
break;
case 2:
printf("Two ");
break;
case 3:
printf("Three ");
break;
case 4:
printf("Four ");
break;
case 5:
printf("Five ");
break;
case 6:
printf("Six ");
break;
case 7:
printf("Seven ");
break;
case 8:
printf("Eight ");
break;
case 9:
printf("Nine ");
break;
}
num /= 10;
}
while(digits)
{
printf("Zero ");
digits--;
}
return 0;
}
5. Write a C program to print all ASCII character with their values.
#include <stdio.h>
int main()
{
char c;
printf("Enter a character: ");
scanf("%c", &c);
printf("ASCII value of %c = %d", c, c);
return 0;
}
6. Write a C program to find one's complement of a binary number.
#include <stdio.h>
int main()
{
char binary[10], onesComp[10];
int i;
printf("Enter binary value: ");
gets(binary);
for(i=0; i<10; i++)
{
if(binary[i] == '1')
{ onesComp[i] = '0'; }
else if(binary[i] == '0')
{ onesComp[i] = '1'; }
}
printf("One's complement = %s", onesComp);
return 0;
}
7. Write a C program to find two's complement of a binary number.
#include <stdio.h>
int main()
{
char binary[10], onesComp[10] , twosComp [10];
int i , j=1;
printf("Enter binary value: ");
gets(binary);
for(i=0; i<10; i++)
{
if(binary[i] == '1')
{ onesComp[i] = '0'; }
else if(binary[i] == '0')
{ onesComp[i] = '1'; }
}
for(int i=9; i>=0; i--)
{
if(onesComp[i] == '1' && j == 1)
{ twosComp[i] = '0'; }
else if(onesComp[i] == '0' && j == 1)
{
twosComp[i] = '1';
j = 0;
}
else
{ twosComp[i] = onesComp[i]; }
}
printf("Two's complement is = %s", twosComp);
return 0;
}
8. Write a C program to convert Binary to Octal number system.
#include <stdio.h>
#include <math.h>
int main() {
int bin,oct_rev=0,dec=0,rem,mul=1;
printf("Enter number in binary: ");
scanf("%d",&bin);
while (bin>0) {
rem=bin%1000;
while (rem>0) {
dec+=(rem%10)*mul;
rem/=10;
mul*=2;
}
mul=1;
oct_rev=oct_rev*10+dec;
dec=0;
bin/=1000;
}
int temp=oct_rev,oct=0;
while (temp>0) {
oct=oct*10+temp%10;
temp/=10;
}
printf("The octal value is: %d",oct);
return 0;
}
9. Write a C program to convert Binary to Decimal number system.
#include <math.h>
#include <stdio.h>
int convert(long long n);
int main() {
long n;
printf("Enter a binary number: ");
scanf("%ld", &n);
int decimal=0,i=0,rem;
while (n!=0)
{
rem=n%10;
n/=10;
decimal+=rem*pow(2, i);
++i;
}
printf("The number from binary to decimal is %d",decimal);
return 0;
}
10. Write a C program to convert Binary to Hexadecimal number system.
#include <stdio.h>
#include <math.h>
int main() {
int bin,dec=0,rem,mul=1,dig=0;
char hex_rev[20]={0},hex[20]={0};
printf("Enter number in binary: ");
scanf("%d",&bin);
int i = 0;
while (bin>0) {
rem=bin%10000;
while (rem>0) {
dec+=(rem%10)*mul;
rem/=10;
mul*=2;
}
if (dec>10)
dec=dec+55;
else
dec=dec+48;
mul=1;
hex_rev[i]=dec;
dec=0;
bin/=10000;
i++;
dig++;
}
for(i=0;i<dig;i++)
hex[i]=hex_rev[dig-i-1];
printf("The hexadecimal value is: %s",hex);
return 0;
}
11. Write a C program to convert Octal to Binary number system.
#include <stdio.h>
int main() {
int oct,oct_rev=0,bin=0,x,mul=1;
printf("Enter number in octal: ");
scanf("%d",&oct);
while (oct>0) {
oct_rev=oct_rev*10+oct%10;
oct/=10;
}
printf("The number in binary is: ");
while (oct_rev>0) {
x=oct_rev%10;
while (x>0) {
bin+=(x%2)*mul;
x/=2;
mul*=10;
}
printf("%0.3d",bin);
bin=0;
mul=1;
oct_rev/=10;
}
}
12. Write a C program to convert Octal to Decimal number system.
#include <stdio.h>
#include <math.h>
int main() {
int oct,dec=0,mul=1;
printf("Enter octal number: ");
scanf("%d",&oct);
while (oct>0) {
dec+=(oct%10)*mul;
oct/=10;
mul*=8;
}
printf("The number in decimal is: %d",dec);
return 0;
}
13. Write a C program to convert Octal to Hexadecimal number system.
#include <stdio.h>
int main() {
int oct,dec=0,mul=1,i=0,x,len=0;
char hex[20]={0},hex_rev[20]={0};
printf("Enter octal number: ");
scanf("%d",&oct);
while (oct>0) {
dec+=(oct%10)*mul;
oct/=10;
mul*=8;
}
while (dec>0) {
x=dec%16;
if (x>9)
hex_rev[i]=x+55;
else
hex_rev[i]=x+48;
i++;
dec/=16;
len++;
}
for(i=0;i<len;i++)
hex[i]=hex_rev[len-i-1];
printf("The number in hexadecimal is: %s",hex);
return 0;
}
14. Write a C program to convert Decimal to Binary number system.
#include <stdio.h>
int main() {
int dec,bin=0,mul=1;
printf("Enter number in decimal: ");
scanf("%d",&dec);
while (dec>0) {
bin+=(dec%2)*mul;
dec/=2;
mul*=10;
}
printf("The number in binary is: %d",bin);
return 0;
}
15. Write a C program to convert Decimal to Octal number system.
#include <stdio.h>
int main() {
int dec,oct=0,mul=1;
printf("Enter number in decimal: ");
scanf("%d",&dec);
while (dec>0) {
oct+=(dec%8)*mul;
dec/=8;
mul*=10;
}
printf("The number in octal is: %d",oct);
return 0;
}
16. Write a C program to convert Decimal to Hexadecimal number system.
#include<stdio.h>
int main()
{
long int dn,q;
int i=1,j,temp;
char hdn[100];
printf("Enter any decimal number:");
scanf("%ld",&dn);
q=dn;
while(q!=0)
{
temp=q%16;
if(temp<10)
temp=temp+48;
else
temp=temp+55;
hdn[i++]=temp;
q=q/16;
}
printf("Equivalent hexadecimal value of decimal number %ld:",dn);
for(j=i-1;j>0;j--)
printf("%c",hdn[j]);
return 0;
}
17. Write a C program to convert Hexadecimal to Binary number system.
#include <stdio.h>
int main()
{
char bn[100],hdn[100];
long int i=0;
printf("Enter the value for hexadecimal:");
scanf("%s",hdn);
printf("\nEquivalent binary value:");
while(hdn[i])
{
switch(hdn[i])
{
case'0':
printf("0000");
break;
case'1':
printf("0001");
break;
case'2':
printf("0010");
break;
case'3':
printf("0011");
break;
case'4':
printf("0100");
break;
case'5':
printf("0101");
break;
case'6':
printf("0110");
break;
case'7':
printf("0111");
break;
case'8':
printf("1000");
break;
case'9':
printf("1001");
break;
case'A':
printf("1010");
break;
case'B':
printf("1011");
break;
case'C':
printf("1100");
break;
case'D':
printf("1101");
break;
case'E':
printf("1110");
break;
case'F':
printf("1111");
break;
case'a':
printf("1010");
break;
case'b':
printf("1011");
break;
case'c':
printf("1100");
break;
case'd':
printf("1101");
break;
case'e':
printf("1110");
break;
case'f':
printf("1111");
break;
default:
printf("\nInvalid hexadecimal digit %c",hdn[i]);
return 0;
}
i++;
}
return 0;
}
18. Write a C program to convert Hexadecimal to Octal number system.
#include<stdio.h>
long int hdn_bn(char hdn[])
{
long int bn,place;
int i=0;
bn=0;
place=10000;
for(i=0;hdn[i]!='\0';i++)
{
bn=bn*place;
switch(hdn[i])
{
case'0':
bn+=0;
break;
case'1':
bn+=1;
break;
case'2':
bn+=10;
break;
case'3':
bn+=11;
break;
case'4':
bn+=100;
break;
case'5':
bn+=101;
break;
case'6':
bn+=110;
break;
case'7':
bn+=111;
break;
case'8':
bn+=1000;
break;
case'9':
bn+=1001;
break;
case'a':
case'A':
bn+=1010;
break;
case'b':
case'B':
bn+=1011;
break;
case'c':
case'C':
bn+=1100;
break;
case'd':
case'D':
bn+=1101;
break;
case'e':
case'E':
bn+=1110;
break;
case'f':
case'F':
bn+=1111;
break;
default:
printf("Invalid hexadecimal input.");
}
}
return bn;
}
long int bn_oct(long bn)
{
long int octal,place;
int i=0,r,val;
octal=0;
place=1;
while(bn>0)
{
r=bn%1000;
switch(r)
{
case 0:
val=0;
break;
case 1:
val=1;
break;
case 10:
val=2;
break;
case 11:
val=3;
break;
case 100:
val=4;
break;
case 101:
val=5;
break;
case 110:
val=6;
break;
case 111:
val=7;
break;
}
octal=(val*place)+octal;
bn/=1000;
place*=10;
}
return octal;
}
long int hdn_oct(char hdn[])
{
long int octal,bn;
bn=hdn_bn(hdn);
octal=bn_oct(bn);
return octal;
}
int main()
{
char hdn[20];
printf("Enter the value for hexadecimal:");
scanf("%s",hdn);
printf("Equivalent Octal Value = %ld",hdn_oct(hdn));
return 0;
}
19. Write a C program to convert Hexadecimal to Decimal number system.
#include<stdio.h>
#include<math.h>
int main()
{
int dn=0;
int c=0,l=0,i=0;
char hdn[20];
printf("Enter a Hexadecimal Number:");
scanf("%s",hdn);
while(hdn[i]!='\0')
{
l++;
i++;
}
l--;
i=0;
while(l>=0)
{
c=hdn[l];
if(c>=48&&c<=57)
c=c-48;
else if(c>=97&&c<=102)
c=c-97+10;
else if(c>=65&&c<=70)
dn=c-65+10;
dn=dn+(c*pow(16,i));
l--;
i++;
}
printf("\nDecimal Equivalent:\n %d",dn);
return 0;
}