Table of Contents
Practice programs on Loops
1. C program to print all natural numbers from 1 to n using while loop:
#include <stdio.h>
int main()
{
int i, end;
/*
* Input a number from user
*/
printf("Print all natural numbers from 1 to : ");
scanf("%d", &end);
/*
* Print natural numbers from 1 to end
*/
i=1;
while(i<=end)
{
printf("%d\n", i);
i++;
}
return 0;
}*******************************************************
2. C program to print natural numbers in reverse from n to 1 using while loop:
#include <stdio.h>
int main()
{
int n;
/*
* Input a number from user
*/
printf("Enter value of n: ");
scanf("%d", &n);
while(n>=1)
{
printf("%d\n", n);
n--;
}
return 0;
}*******************************************************
3. C program to print alphabets from a to z using while loop:
#include <stdio.h>
int main()
{
char ch = 'a';
printf("Alphabets from a - z are: \n");
while(ch<='z')
{
printf("%c\n", ch);
ch++;
}
return 0;
}******************************************************
4. C program to print all odd numbers from 1 to n using for loop:
#include <stdio.h>
int main()
{
int i, n, sum=0;
/* Input range to find sum of odd numbers */
printf("Enter upper limit: ");
scanf("%d", &n);
/* Find the sum of all odd number */
for(i=1; i<=n; i+=2)
{
sum += i;
}
printf("Sum of odd numbers = %d", sum);
return 0;
}*********************************************************
5. C program to print multiplication table of a given number using for loop:
#include <stdio.h>
int main()
{
int i, num;
/* Input a number to print table */
printf("Enter number to print table: ");
scanf("%d", &num);
for(i=1; i<=10; i++)
{
printf("%d * %d = %d\n", num, i, (num*i));
}
return 0;
}***************************************************************
6. C program to print multiplication table from 1 to 5 using Nested loop:
#include <stdio.h>
int main()
{
/* Loop counter variable declaration */
int i, j;
/* Outer loop */
for(i=1; i<=10; i++)
{
/* Inner loop */
for(j=1; j<=5; j++)
{
printf("%d\t", (i*j));
}
/* Print a new line */
printf("\n");
}
return 0;
}*************************************************************
7. Program to add numbers until the user enters zero using do..while loop:
#include <stdio.h>
int main()
{
double number, sum = 0;
// the body of the loop is executed at least once
do
{
printf("Enter a number: ");
scanf("%lf", &number);
sum += number;
}
while(number != 0.0);
printf("Sum = %.2lf",sum);
return 0;
}*****************************************************
8. C program to find all factors of a number:
#include <stdio.h>
int main()
{
int i, num;
/* Input number from user */
printf("Enter any number to find its factor: ");
scanf("%d", &num);
printf("All factors of %d are: \n", num);
/* Iterate from 1 to num */
for(i=1; i<=num; i++)
{
/*
* If num is exactly divisible by i
* Then i is a factor of num
*/
if(num % i == 0)
{
printf("%d, ",i);
}
}
return 0;
}*********************************************************************
9. C program to find factorial of a number:
#include <stdio.h>
int main()
{
int i, num;
unsigned long long fact=1LL;
/* Input number from user */
printf("Enter any number to calculate factorial: ");
scanf("%d", &num);
/* Run loop from 1 to num */
for(i=1; i<=num; i++)
{
fact = fact * i;
}
printf("Factorial of %d = %llu", num, fact);
return 0;
}****************************************************************
10. C program to check whether a number is palindrome or not:
#include <stdio.h>
int main()
{
int n, num, rev = 0;
/* Input a number from user */
printf("Enter any number to check palindrome: ");
scanf("%d", &n);
/* Copy original value to 'num' to 'n'*/
num = n;
/* Find reverse of n and store in rev */
while(n != 0)
{
rev = (rev * 10) + (n % 10);
n /= 10;
}
/* Check if reverse is equal to 'num' or not */
if(rev == num)
{
printf("%d is palindrome.", num);
}
else
{
printf("%d is not palindrome.", num);
}
return 0;
}****************************************************************
11. C program to reverse order of words in a string:
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 100 // Maximum string size
int main()
{
char str[100], reverse[100];
int len, i, index, wordStart, wordEnd;
printf("Enter any string: ");
gets(str);
len = strlen(str);
index = 0;
// Start checking of words from the end of string
wordStart = len - 1;
wordEnd = len - 1;
while(wordStart > 0)
{
// If a word is found
if(str[wordStart] == ' ')
{
// Add the word to the reverse string
i = wordStart + 1;
while(i <= wordEnd)
{
reverse[index] = str[i];
i++;
index++;
}
reverse[index++] = ' ';
wordEnd = wordStart - 1;
}
wordStart--;
}
// Finally add the last word
for(i=0; i<=wordEnd; i++)
{
reverse[index] = str[i];
index++;
}
// Add NULL character at the end of reverse string
reverse[index] = '\0';
printf("Original string \n%s\n\n", str);
printf("Reverse ordered words \n%s", reverse);
return 0;
}**********************************************************
12. C program to count frequency of digits in an integer:
#include <stdio.h>
#define BASE 10 /* Constant */
int main()
{
long long num, n;
int i, lastDigit;
int freq[BASE];
/* Input number from user */
printf("Enter any number: ");
scanf("%lld", &num);
/* Initialize frequency array with 0 */
for(i=0; i<BASE; i++)
{
freq[i] = 0;
}
/* Copy the value of 'num' to 'n' */
n = num;
/* Run till 'n' is not equal to zero */
while(n != 0)
{
/* Get last digit */
lastDigit = n % 10;
/* Remove last digit */
n /= 10;
/* Increment frequency array */
freq[lastDigit]++;
}
/* Print frequency of each digit */
printf("Frequency of each digit in %lld is: \n", num);
for(i=0; i<BASE; i++)
{
printf("Frequency of %d = %d\n", i, freq[i]);
}
return 0;
}****************************************************************
13. C program to count number of digits in an integer:
#include <stdio.h>
int main()
{
long long num;
int count = 0;
/* Input number from user */
printf("Enter any number: ");
scanf("%lld", &num);
/* Run loop till num is greater than 0 */
do
{
/* Increment digit count */
count++;
/* Remove last digit of 'num' */
num /= 10;
} while(num != 0);
printf("Total digits: %d", count);
return 0;
}*************************************************************
14. C program to swap first and last digit of a number:
#include <stdio.h>
#include <math.h>
int main()
{
int num, swappedNum;
int firstDigit, lastDigit, digits;
/* Input number from user */
printf("Enter any number: ");
scanf("%d", &num);
/* Find last digit */
lastDigit = num % 10;
/* Find total number of digit - 1 */
digits = (int)log10(num);
/* Find first digit */
firstDigit = (int)(num / pow(10, digits));
swappedNum = lastDigit;
swappedNum *= (int) pow(10, digits);
swappedNum += num % ((int) pow(10, digits));
swappedNum -= lastDigit;
swappedNum += firstDigit;
printf("Original number = %d", num);
printf("Number after swapping first and last digit: %d", swappedNum);
return 0;
}**********************************************************************************
For more practice questions, go to Questionnare.





