0% found this document useful (0 votes)
2 views39 pages

C Programming: Data Structures Examples

Uploaded by

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

C Programming: Data Structures Examples

Uploaded by

waghviraj1409
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Problem sheet-1

Problem 1

#include <stdio.h>
#include <string.h>

struct Census
{
char cityName[100];
int population;
float literacyLevel;
};

int main()
{
struct Census cities[10];
struct Census temp;

// Reading details for 10 cities


for (int i = 0; i < 10; i++)
{
printf("Enter details for city %d:\n", i + 1);
printf("City Name: ");
scanf("%s", cities[i].cityName); // No & needed for strings
printf("Population: ");
scanf("%d", &cities[i].population); // & needed for integers
printf("Literacy Level (in percentage): ");
scanf("%f", &cities[i].literacyLevel); // & needed for floats
}

// Sorting based on city name (alphabetically)


for (int i = 0; i < 9; i++)
{
for (int j = i + 1; j < 10; j++)
{
if (strcmp(cities[i].cityName, cities[j].cityName) > 0)
{
temp = cities[i];
cities[i] = cities[j];
cities[j] = temp;
}
}
}

printf("\nCities sorted alphabetically by city name:\n");


for (int i = 0; i < 10; i++)
{
printf("%s | Population: %d | Literacy Level: %.2f%%\n", cities[i].cityName,
cities[i].population, cities[i].literacyLevel);
}

// Sorting based on literacy level (highest first)


for (int i = 0; i < 9; i++)
{
for (int j = i + 1; j < 10; j++)
{
if (cities[i].literacyLevel < cities[j].literacyLevel)
{
temp = cities[i];
cities[i] = cities[j];
cities[j] = temp;
}
}
}

printf("\nCities sorted by literacy level (highest first):\n");


for (int i = 0; i < 10; i++)
{
printf("%s | Population: %d | Literacy Level: %.2f%%\n", cities[i].cityName,
cities[i].population, cities[i].literacyLevel);
}

// Sorting based on population (highest first)


for (int i = 0; i < 9; i++)
{
for (int j = i + 1; j < 10; j++)
{
if (cities[i].population < cities[j].population)
{
temp = cities[i];
cities[i] = cities[j];
cities[j] = temp;
}
}
}

printf("\nCities sorted by population (highest first):\n");


for (int i = 0; i < 10; i++)
{
printf("%s | Population: %d | Literacy Level: %.2f%%\n", cities[i].cityName,
cities[i].population, cities[i].literacyLevel);
}

return 0;
}

-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 2

#include <stdio.h>
#include <string.h>

struct cricket
{
char playerName[100];
char teamName[100];
float battingAverage;
};

int main()
{
struct cricket player[20];

// Reading information for 20 players


for (int i = 0; i < 20; i++)
{
printf("Enter details for player %d:\n", i + 1);
printf("Player Name: ");
scanf("%s", player[i].playerName);
printf("Team Name: ");
scanf("%s", player[i].teamName);
printf("Batting Average: ");
scanf("%f", &player[i].battingAverage);
}

// Printing team-wise list


printf("\nTeam-wise list of players and their batting average:\n");

// Sort and display players team-wise


for (int i = 0; i < 20; i++)
{
int teamPrinted = 0;
// Check if the team is already printed
for (int j = 0; j < i; j++)
{
if (strcmp(player[i].teamName, player[j]×teamName) == 0)
{
teamPrinted = 1;
break;
}
}

// If the team has not been printed, print the team header
if (!teamPrinted)
{
printf("\nTeam: %s\n", player[i].teamName);
// Now print the players for that team
for (int j = 0; j < 20; j++)
{
if (strcmp(player[i].teamName, player[j]×teamName) == 0)
{
printf("Player: %s | Batting Average: %.2f\n", player[j].playerName,
player[j].battingAverage);
}
}
}
}

return 0;
}
-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 3

#include <stdio.h>
#include <string.h>

struct hotel
{
char name[100];
char address[200];
int grade;
float avgRoomCharge;
int numRooms;
};

int main()
{
struct hotel hotels[10];
int n;

// Read the number of hotels


printf("Enter number of hotels: ");
scanf("%d", &n);

// Read hotel details


for (int i = 0; i < n; i++)
{
printf("Enter details for hotel %d:\n", i + 1);

printf("Name: ");
scanf("%s", hotels[i].name); // Reads a single word, no spaces allowed

printf("Address: ");
scanf("%s", hotels[i].address); // Reads a single word, no spaces allowed

printf("Grade: ");
scanf("%d", &hotels[i].grade);

printf("Average Room Charge: ");


scanf("%f", &hotels[i].avgRoomCharge);
printf("Number of Rooms: ");
scanf("%d", &hotels[i].numRooms);
}

// Print hotels of a given grade in order of charges


int gradeToFind;
printf("\nEnter grade to find hotels: ");
scanf("%d", &gradeToFind);

// Sort hotels of the given grade by average room charges


for (int i = 0; i < n; i++)
{
if (hotels[i]×grade == gradeToFind)
{
for (int j = i + 1; j < n; j++)
{
if (hotels[j]×grade == gradeToFind && hotels[i].avgRoomCharge >
hotels[j].avgRoomCharge)
{
struct hotel temp = hotels[i];
hotels[i] = hotels[j];
hotels[j] = temp;
}
}
}
}

printf("\nHotels of grade %d in order of charges:\n", gradeToFind);


for (int i = 0; i < n; i++)
{
if (hotels[i]×grade == gradeToFind)
{
printf("Name: %s, Address: %s, Charge: %.2f\n",
hotels[i].name, hotels[i].address, hotels[i].avgRoomCharge);
}
}

// Print hotels with room charges less than a given value


float maxCharge;
printf("\nEnter maximum room charge to find hotels: ");
scanf("%f", &maxCharge);

printf("\nHotels with charges less than %.2f:\n", maxCharge);


for (int i = 0; i < n; i++)
{
if (hotels[i].avgRoomCharge < maxCharge)
{
printf("Name: %s, Address: %s, Charge: %.2f\n",
hotels[i].name, hotels[i].address, hotels[i].avgRoomCharge);
}
}

return 0;
}

-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 4
#include <stdio.h>
#include <string.h>

#define MAX 5

// Define the structure


struct library
{
int accessionNumber;
char title[50];
char author[50];
float price;
int isIssued;
};
int main()
{
struct library books[MAX];
int count = 0, choice, accessionNumber, i, j;
char author[50];

while (1)
{
printf("\nLibrary Menu:\n");
printf("1. Add book information\n");
printf("2. Display book information\n");
printf("3. List all books of given author\n");
printf("4. List the title of specified book\n");
printf("5. List total no. of books in the library\n");
printf("6. List the books in the order of accession number\n");
printf("7. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);

switch (choice)
{
case 1:
if (count < MAX)
{
printf("Enter accession number: ");
scanf("%d", &books[count].accessionNumber);
printf("Enter title: ");
scanf("%s", books[count].title);
printf("Enter author: ");
scanf("%s", books[count].author);
printf("Enter price: ");
scanf("%f", &books[count].price);
printf("Is the book issued? (1 for Yes, 0 for No): ");
scanf("%d", &books[count].isIssued);
count++;
}
else
{
printf("Library is full!\n");
}
break;

case 2:
for (i = 0; i < count; i++)
{
printf("\nAccession Number: %d", books[i].accessionNumber);
printf("\nTitle: %s", books[i].title);
printf("\nAuthor: %s", books[i].author);
printf("\nPrice: %.2f", books[i].price);
printf("\nIssued: %s\n", books[i].isIssued ? "Yes" : "No");
}
break;

case 3:
printf("Enter author name: ");
scanf("%s", author);
for (i = 0; i < count; i++)
{
if (strcmp(books[i].author, author) == 0)
{
printf("\nTitle: %s", books[i].title);
printf("\nAccession Number: %d\n", books[i].accessionNumber);
}
}
break;

case 4:
printf("Enter accession number: ");
scanf("%d", &accessionNumber);
for (i = 0; i < count; i++)
{
if (books[i]×accessionNumber == accessionNumber)
{
printf("\nTitle: %s\n", books[i].title);
break;
}
}
if (i == count)
{
printf("Book not found.\n");
}
break;

case 5:
printf("Total number of books in the library: %d\n", count);
break;

case 6:
for (i = 0; i < count - 1; i++)
{
for (j = i + 1; j < count; j++)
{
if (books[i].accessionNumber > books[j].accessionNumber)
{
struct library temp = books[i];
books[i] = books[j];
books[j] = temp;
}
}
}
for (i = 0; i < count; i++)
{
printf("\nAccession Number: %d", books[i].accessionNumber);
printf("\nTitle: %s", books[i].title);
printf("\nAuthor: %s", books[i].author);
printf("\nPrice: %.2f", books[i].price);
printf("\nIssued: %s\n", books[i].isIssued ? "Yes" : "No");
}
break;

case 7:
return 0;

default:
printf("Invalid choice! Please try again.\n");
}
}

return 0;
}
-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 5
#include <stdio.h>

int leap(int year)


{

if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))


{
return 0;
}
else
{
return 1;
}
}

int main()
{
int year;
printf("Enter a year: ");
scanf("%d", &year);

if (leap(year) == 0)
{
printf("%d is a leap year.\n", year);
}
else
{
printf("%d is not a leap year.\n", year);
}

return 0;
}

-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 6
#include <stdio.h>

int sumOfDigits(int n) {
int sum = 0;

if (n < 0) {
n = 0 - n;
}

while (n > 0) {
sum += n % 10;
n /= 10;
}

return sum;
}

int main() {
int number;

printf("Enter a number: ");


scanf("%d", &number);

printf("Sum of digits in %d is %d\n", number, sumOfDigits(number));

return 0;
}

-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 7
#include <stdio.h>

int isPrime(int n)
{

if (n <= 1)
{
return 0;
}
else if (n == 2)
{
return 1;
}
else
{
if (n % 2 == 0)
return 0;
for (int i = 3; i * i <= n; i += 2)
{
if (n % i == 0)
{
return 0;
}
}
}
return 1;
}

int main()
{
int number;

printf("Enter a number: ");


scanf("%d", &number);

if (isPrime(number))
{
printf("%d is a prime number.\n", number);
}
else
{
printf("%d is not a prime number.\n", number);
}

return 0;
}

-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 8
#include <stdio.h>

int calculatePower(int base, int exponent)


{
int result = 1;
for (int i = 0; i < exponent; i++)
{
result = result * base;
}
return result;
}

int isArmstrongNumber(int number)


{
int originalNumber = number;
int sumOfPowers = 0;
int digitCount = 0;

int tempNumber = number;


while (tempNumber != 0)
{
digitCount = digitCount + 1;
tempNumber = tempNumber / 10;
}

tempNumber = number;
while (tempNumber != 0)
{
int digit = tempNumber % 10;
sumOfPowers = sumOfPowers + calculatePower(digit, digitCount);
tempNumber = tempNumber / 10;
}

if (sumOfPowers == originalNumber)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int number;

printf("Enter a number: ");


scanf("%d", &number);

if (isArmstrongNumber(number))
{
printf("%d is an Armstrong number.\n", number);
}
else
{
printf("%d is not an Armstrong number.\n", number);
}

return 0;
}

-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 9
#include <stdio.h>

int factorial(int n)
{
int fact = 1;

if (n == 0 || n == 1)
{
return 1;
}

for (int i = 2; i <= n; i++)


{
fact ×= i;
}

return fact;
}

int main()
{
int number;

printf("Enter a number: ");


scanf("%d", &number);

if (number < 0)
{
printf("Factorial is not defined for negative numbers.\n");
}
else
{
printf("Factorial of %d is %d\n", number, factorial(number));
}

return 0;
}

-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 10
#include <stdio.h>

void sortAscending(int array[], int size) {


for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (array[j] > array[j + 1]) {

int temp = array[j];


array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
void sortDescending(int array[], int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (array[j] < array[j + 1]) {

int temp = array[j];


array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}

void printArray(int array[], int size) {


for (int i = 0; i < size; i++) {
printf("%d ", array[i]);
}
printf("\n");
}

int main() {
int array[] = {64, 25, 12, 22, 11};
int size = sizeof(array) / sizeof(array[0]);

printf("Original array: ");


printArray(array, size);

sortAscending(array, size);
printf("Array in ascending order: ");
printArray(array, size);

sortDescending(array, size);
printf("Array in descending order: ");
printArray(array, size);

return 0;
}

-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 11
#include <stdio.h>

void sort2DAscending(int rows, int cols, int arr[rows][cols]) {


int size = rows * cols;
int temp[size], k = 0;

for (int i = 0; i < rows; i++) {


for (int j = 0; j < cols; j++) {
temp[k++] = arr[i][j];
}
}

for (int i = 0; i < size - 1; i++) {


for (int j = 0; j < size - i - 1; j++) {
if (temp[j] > temp[j + 1]) {
int t = temp[j];
temp[j] = temp[j + 1];
temp[j + 1] = t;
}
}
}

k = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
arr[i][j] = temp[k++];
}
}
}

void sort2DDescending(int rows, int cols, int arr[rows][cols]) {


int size = rows * cols;
int temp[size], k = 0;

for (int i = 0; i < rows; i++) {


for (int j = 0; j < cols; j++) {
temp[k++] = arr[i][j];
}
}
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (temp[j] < temp[j + 1]) {
int t = temp[j];
temp[j] = temp[j + 1];
temp[j + 1] = t;
}
}
}

k = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
arr[i][j] = temp[k++];
}
}
}

void print2DArray(int rows, int cols, int arr[rows][cols]) {


for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d\t", arr[i][j]);
}
printf("\n");
}
}

int main() {
int rows, cols;

printf("Enter the number of rows: ");


scanf("%d", &rows);
printf("Enter the number of columns: ");
scanf("%d", &cols);

int arr[rows][cols];

printf("Enter the elements of the 2D array:\n");


for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
scanf("%d", &arr[i][j]);
}
}

printf("\nOriginal Array:\n");
print2DArray(rows, cols, arr);

sort2DAscending(rows, cols, arr);


printf("\nArray after Ascending Sort:\n");
print2DArray(rows, cols, arr);

sort2DDescending(rows, cols, arr);


printf("\nArray after Descending Sort:\n");
print2DArray(rows, cols, arr);

return 0;
}

-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 12
#include <stdio.h>

void findLargestSmallest(int arr[], int size, int *largest, int *smallest) {


*largest = arr[0];
*smallest = arr[0];

for (int i = 1; i < size; i++) {


if (arr[i] > *largest) {
*largest = arr[i];
}
if (arr[i] < *smallest) {
*smallest = arr[i];
}
}
}

int main() {
int size;

printf("Enter the number of elements: ");


scanf("%d", &size);

int arr[size];

printf("Enter %d elements:\n", size);


for (int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}

int largest, smallest;


findLargestSmallest(arr, size, &largest, &smallest);

printf("Largest element: %d\n", largest);


printf("Smallest element: %d\n", smallest);

return 0;
}

-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 13
#include <stdio.h>

void findLargestSmallest(int rows, int cols, int arr[rows][cols], int *largest, int *smallest) {
*largest = arr[0][0];
*smallest = arr[0][0];

for (int i = 0; i < rows; i++) {


for (int j = 0; j < cols; j++) {
if (arr[i][j] > *largest) {
*largest = arr[i][j];
}
if (arr[i][j] < *smallest) {
*smallest = arr[i][j];
}
}
}
}

int main() {
int rows, cols;
printf("Enter the number of rows: ");
scanf("%d", &rows);
printf("Enter the number of columns: ");
scanf("%d", &cols);

int arr[rows][cols];

printf("Enter the elements of the 2D array:\n");


for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
scanf("%d", &arr[i][j]);
}
}

int largest, smallest;


findLargestSmallest(rows, cols, arr, &largest, &smallest);

printf("Largest element: %d\n", largest);


printf("Smallest element: %d\n", smallest);

return 0;
}

-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 14
#include <stdio.h>

typedef struct {
int day;
int month;
int year;
} Date;

void calculateAge(Date birth, Date current, int *years, int *months, int *days) {
*years = [Link] - [Link];
*months = [Link] - [Link];
*days = [Link] - [Link];

if (*days < 0) {
*months -= 1;
*days += 30;
}

if (*months < 0) {
*years -= 1;
*months += 12;
}
}

int main() {
Date birth, current;
int years, months, days;

printf("Enter birth date (DD MM YYYY): ");


scanf("%d %d %d", &[Link], &[Link], &[Link]);

printf("Enter current date (DD MM YYYY): ");


scanf("%d %d %d", &[Link], &[Link], &[Link]);

calculateAge(birth, current, &years, &months, &days);

printf("Your age is: %d years, %d months, and %d days\n", years, months, days);

return 0;
}

-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 15
#include <stdio.h>

int isLeapYear(int year) {


return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}

int validateDate(int day, int month, int year) {


if (year < 1 || month < 1 || month > 12 || day < 1) {
return 1;
}
int daysInMonth[] = {0, 31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

if (day > daysInMonth[month]) {


return 1;
}

return 0;
}

int main() {
int day, month, year;

printf("Enter date (DD MM YYYY): ");


scanf("%d %d %d", &day, &month, &year);

if (validateDate(day, month, year) == 0) {


printf("Valid date\n");
} else {
printf("Invalid date\n");
}

return 0;
}
-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 16
#include <stdio.h>

struct Date
{
int day;
int month;
int year;
};

int compareDates(struct Date d1, struct Date d2)


{
if ([Link] == [Link] && [Link] == [Link] && [Link] == [Link])
{
return 0;
}
return 1;
}

int main()
{
struct Date date1, date2;

printf("Enter first date (dd mm yyyy): ");


scanf("%d %d %d", &[Link], &[Link], &[Link]);

printf("Enter second date (dd mm yyyy): ");


scanf("%d %d %d", &[Link], &[Link], &[Link]);

if (compareDates(date1, date2) == 0)
{
printf("Dates are equal.\n");
}
else
{
printf("Dates are different.\n");
}

return 0;
}
-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 17
#include <stdio.h>

struct Time
{
int hour;
int minute;
int second;
};

void Input(struct Time *t)


{
printf("Enter time (HH MM SS): ");
scanf("%d %d %d", &t->hour, &t->minute, &t->second);
}
void Display(struct Time t)
{
printf("Time entered: %02d:%02d:%02d\n", [Link], [Link], [Link]);
}

int Validate(struct Time t)


{
if ([Link] < 0 || [Link] > 23 || [Link] < 0 || [Link] > 59 || [Link] < 0 || [Link] > 59)
{
return 1;
}
return 0;
}

int main()
{
struct Time t;

Input(&t);

if (Validate(t) == 0)
{
Display(t);
}
else
{
printf("Invalid time entered.\n");
}

return 0;
}
-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 18
#include <stdio.h>

int isPrime(int num)


{
if (num < 2)
{
return 0;
}
for (int i = 2; i * i <= num; i++)
{
if (num % i == 0)
{
return 0;
}
}
return 1;
}

int countPrimes(int rows, int cols, int arr[rows][cols])


{
int count = 0;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
if (isPrime(arr[i][j]))
{
count++;
}
}
}
return count;
}

int main()
{
int rows, cols;

printf("Enter number of rows and columns: ");


scanf("%d %d", &rows, &cols);

int arr[rows][cols];

printf("Enter elements of the array:\n");


for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
scanf("%d", &arr[i][j]);
}
}

int primeCount = countPrimes(rows, cols, arr);


printf("Total prime numbers in the array: %d\n", primeCount);

return 0;
}
-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 19
#include <stdio.h>

void fibonacci(int n)
{
int a = 0, b = 1, next;

printf("Fibonacci Series: ");

for (int i = 0; i < n; i++)


{
printf("%d ", a);
next = a + b;
a = b;
b = next;
}

printf("\n");
}

int main()
{
int n;

printf("Enter the number of terms: ");


scanf("%d", &n);

if (n <= 0)
{
printf("Please enter a positive number.\n");
}
else
{
fibonacci(n);
}

return 0;
}
-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 20
#include <stdio.h>

int sumOfDigits(int n) {
int sum = 0;

if (n < 0) {
n = 0 - n;
}

while (n > 0) {
sum += n % 10;
n /= 10;
}

return sum;
}

int main() {
int number;

printf("Enter a number: ");


scanf("%d", &number);

printf("Sum of digits in %d is %d\n", number, sumOfDigits(number));


return 0;
}
-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 21
#include <stdio.h>

int sum2DArray(int rows, int cols, int arr[rows][cols])


{
int sum = 0;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
sum += arr[i][j];
}
}
return sum;
}

int main()
{
int rows, cols;
printf("Enter number of rows: ");
scanf("%d", &rows);
printf("Enter number of columns: ");
scanf("%d", &cols);

int arr[rows][cols];
printf("Enter elements of the array:\n");
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
printf("Element [%d][%d]: ", i, j);
scanf("%d", &arr[i][j]);
}
}

int result = sum2DArray(rows, cols, arr);


printf("Sum of all elements: %d\n", result);
return 0;
}
-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 22
#include <stdio.h>

int isPrime(int n)
{

if (n <= 1)
{
return 0;
}
else if (n == 2)
{
return 1;
}
else
{
if (n % 2 == 0)
return 0;

for (int i = 3; i * i <= n; i += 2)


{
if (n % i == 0)
{
return 0;
}
}
}
return 1;
}

int main()
{
int number;
printf("Enter a number: ");
scanf("%d", &number);

if (isPrime(number))
{
printf("%d is a prime number.\n", number);
}
else
{
printf("%d is not a prime number.\n", number);
}

return 0;
}
-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 23
#include <stdio.h>

int calculatePower(int base, int exponent)


{
int result = 1;
for (int i = 0; i < exponent; i++)
{
result = result * base;
}
return result;
}

int isArmstrongNumber(int number)


{
int originalNumber = number;
int sumOfPowers = 0;
int digitCount = 0;

int tempNumber = number;


while (tempNumber != 0)
{
digitCount = digitCount + 1;
tempNumber = tempNumber / 10;
}

tempNumber = number;
while (tempNumber != 0)
{
int digit = tempNumber % 10;
sumOfPowers = sumOfPowers + calculatePower(digit, digitCount);
tempNumber = tempNumber / 10;
}

if (sumOfPowers == originalNumber)
{
return 1;
}
else
{
return 0;
}
}

int main()
{
int number;

printf("Enter a number: ");


scanf("%d", &number);

if (isArmstrongNumber(number))
{
printf("%d is an Armstrong number.\n", number);
}
else
{
printf("%d is not an Armstrong number.\n", number);
}

return 0;
}
-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 24
#include <stdio.h>

void printPattern(int n)
{
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n - i; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("*");
}
printf("\n");
}
}

int main()
{
int n;
printf("Enter the number of rows: ");
scanf("%d", &n);
printPattern(n);
return 0;
}
-----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
problem 25
#include <stdio.h>

void printPattern(int n)
{
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n - i; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("%d", k);
}
printf("\n");
}
}

int main()
{
int n;
printf("Enter the number of rows: ");
scanf("%d", &n);
printPattern(n);
return 0;
}
-----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
problem 26
#include<stdio.h>
int fact(int);

int fact(int n)
{
printf("\nFactorial of %d is called",n);
if(n==0)
{
return 0;
}
else if(n==1)
{
return 1;
}
else
{
return n*fact(n-1);
}
}
int main()
{
int n,result;
printf("Enter n : ");
scanf("%d",&n);
result=fact(n);
printf("\n\nFactorial of %d = %d",n,result);
return 0;
}

-----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
problem 27
#include<stdio.h>
int fibo(int n);

int fibo(int n)
{
if(n==0)
{
return 0;
}
else if(n==1)
{
return 1;
}
else
{
return fibo(n-1)+fibo(n-2);
}
}
int main()
{
int n;
printf("Enter n : ");
scanf("%d",&n);

printf("Fibonacci Series : ");


for(int i=0;i<n;i++)
{
printf("%d ",fibo(i));
}
return 0;
}

-----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
problem 28
#include<stdio.h>
int multiply(int,int);

int main()
{
int a,b,product;
printf("Enter Any two Integers : ");
scanf("%d %d",&a,&b);

product=multiply(a,b);

printf("Multiplication of Two Integers : %d",product);


return 0;
}
int multiply(int a,int b)
{
static int product=0,i=0;
if(i<a)
{
product=product+b;
i++;
multiply(a,b);
}
return product;
}

-----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
problem 29
#include<stdio.h>
int add(int);

int add(int n)
{
if(n<=0)
{
return 0;
}
else
{
return n+add(n-1);
}
}

int main()
{
int n,res;
printf("Enter n : ");
scanf("%d",&n);

res=add(n);

printf("\nAdded Number up to %d is : %d",n,res);


return 0;
}

-----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
problem 30
#include<stdio.h>
int power(int,int);

int power(int n,int p)


{
if(p==0)
{
return 1;
}
else
{
return n*power(n,p-1);
}
}
int main()
{
int n,p;
printf("Enter Two Numbers : ");
scanf("%d %d",&n,&p);

printf("\n%d^%d = %d",n,p,power(n,p));
return 0;
}

You might also like