Q1)
#include <stdio.h>
int main() {
int int1, int2;
float float_num;
scanf("%d", &int1);
scanf("%d", &int2);
scanf("%f", &float_num);
int bitwise_result = (int1 & int2) | (int1 ^ int2);
printf("%d\n", bitwise_result);
float arithmetic_result = (int1 * float_num) + ((float)int2 / float_num);
printf("%.4f\n", arithmetic_result);
return 0;
Q2)
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
if (n > 6) n = 6; // Limit array size to avoid out-of-bounds
int x[6] = {0};
for (int i = 0; i < n; i++) {
scanf("%d", &x[i]);
}
if (x[4] == 0 || x[5] == 0) {
printf("0\n");
return 0;
int result = (((x[0] + x[1]) - x[2]) * x[3] / x[4]) % x[5];
printf("%d\n", result);
return 0;
Q3)
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void swapCharacters(char *str, char mostFreq, char leastFreq) {
for (int i = 0; str[i] != '\0'; i++) {
if (tolower(str[i]) == tolower(mostFreq)) {
str[i] = isupper(str[i]) ? toupper(leastFreq) : tolower(leastFreq);
} else if (tolower(str[i]) == tolower(leastFreq)) {
str[i] = isupper(str[i]) ? toupper(mostFreq) : tolower(mostFreq);
int main() {
char str[100];
int freq[256] = {0};
scanf("%s", str);
for (int i = 0; str[i] != '\0'; i++) {
freq[tolower(str[i])]++;
char mostFreq = str[0], leastFreq = str[0];
for (int i = 0; str[i] != '\0'; i++) {
if (freq[tolower(str[i])] > freq[tolower(mostFreq)]) {
mostFreq = str[i];
if (freq[tolower(str[i])] < freq[tolower(leastFreq)]) {
leastFreq = str[i];
swapCharacters(str, mostFreq, leastFreq);
printf("%s\n", str);
return 0;
Q4)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
typedef struct {
char title[100];
char author[100];
int year;
} Book;
Book *library = NULL;
int bookCount = 0;
void toLowerCase(char *str) {
for (int i = 0; str[i]; i++) {
str[i] = tolower(str[i]);
void addBook() {
bookCount++;
library = realloc(library, bookCount * sizeof(Book));
getchar();
fgets(library[bookCount - 1].title, 100, stdin);
library[bookCount - 1].title[strcspn(library[bookCount - 1].title, "\n")] = '\0';
fgets(library[bookCount - 1].author, 100, stdin);
library[bookCount - 1].author[strcspn(library[bookCount - 1].author, "\n")] = '\0';
scanf("%d", &library[bookCount - 1].year);
void displayBooks() {
if (bookCount == 0) {
printf("No books in the library.\n");
} else {
for (int i = 0; i < bookCount; i++) {
printf("Title: %s, Author: %s, Year: %d\n", library[i].title, library[i].author, library[i].year);
void searchBook() {
char searchTitle[100];
getchar();
fgets(searchTitle, 100, stdin);
searchTitle[strcspn(searchTitle, "\n")] = '\0';
int found = 0;
for (int i = 0; i < bookCount; i++) {
char titleLower[100];
strcpy(titleLower, library[i].title);
toLowerCase(titleLower);
char searchLower[100];
strcpy(searchLower, searchTitle);
toLowerCase(searchLower);
if (strstr(titleLower, searchLower)) {
printf("Title: %s, Author: %s, Year: %d\n", library[i].title, library[i].author, library[i].year);
found = 1;
if (!found) {
printf("No book found with the given title.\n");
}
int main() {
int choice;
do {
scanf("%d", &choice);
switch (choice) {
case 1:
addBook();
printf("Book added successfully.\n");
break;
case 2:
displayBooks();
break;
case 3:
searchBook();
break;
case 4:
printf("Exiting...\n");
break;
default:
break;
} while (choice != 4);
free(library);
return 0;
Q5)
#include <stdio.h>
int main() {
int n, factorial = 1;
// Input the number
scanf("%d", &n);
// Error handling for negative input
if (n < 0) {
printf("Error! Factorial of a negative number doesn't exist.\n");
return 0;
// Factorial calculation using a loop
for (int i = 1; i <= n; i++) {
factorial *= i;
// Print the result
printf("Factorial of %d is %d\n", n, factorial);
return 0;
Q6)
#include <stdio.h>
void modifyArray(int *arr, int n) {
for (int i = 0; i < n; i++) {
arr[i] *= 2;
}
int main() {
int n;
scanf("%d", &n);
if (n <= 0) {
printf("Array size must be positive.\n");
return 1;
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
printf("Original array:");
for (int i = 0; i < n; i++) {
printf(" %d", arr[i]);
modifyArray(arr, n);
printf("\nModified array:");
for (int i = 0; i < n; i++) {
printf(" %d", arr[i]);
return 0;
Q7
#include <stdio.h>
struct Student {
char name[50];
int marks;
};
int main() {
int n;
scanf("%d", &n);
struct Student students[n];
int totalMarks = 0;
for (int i = 0; i < n; i++) {
scanf("%s %d", students[i].name, &students[i].marks);
totalMarks += students[i].marks;
float average = (float)totalMarks / n;
printf("Average Marks: %.2f\n", average);
return 0;
Q8)
#include <stdio.h>
int main() {
char *days[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
int n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
printf("Days in reverse order:\n");
for (int i = n - 1; i >= 0; i--) {
printf("%s%s", days[arr[i]], i > 0 ? " " : "");
printf("\n");
return 0;
Q9)
#include <stdio.h>
typedef struct {
float real;
float imag;
} Complex;
Complex add(Complex a, Complex b) {
Complex result;
result.real = a.real + b.real;
result.imag = a.imag + b.imag;
return result;
Complex subtract(Complex a, Complex b) {
Complex result;
result.real = a.real - b.real;
result.imag = a.imag - b.imag;
return result;
int main() {
Complex num1, num2, sum, difference;
scanf("%f %f", &num1.real, &num1.imag);
scanf("%f %f", &num2.real, &num2.imag);
sum = add(num1, num2);
difference = subtract(num1, num2);
printf("Addition: %.1f + %.1fi\n", sum.real, sum.imag);
printf("Subtraction: %.1f - %.1fi\n", difference.real, difference.imag);
return 0;
Q10)
#include <stdio.h>
struct Student {
char name[50];
int age;
float gpa;
};
int main() {
int n;
scanf("%d", &n);
struct Student students[n];
for (int i = 0; i < n; i++) {
scanf("%s %d %f", students[i].name, &students[i].age, &students[i].gpa);
printf("All Students:\n");
int highest = 0;
for (int i = 0; i < n; i++) {
printf("Name: %s, Age: %d, GPA: %.1f\n", students[i].name, students[i].age, students[i].gpa);
if (students[i].gpa > students[highest].gpa) {
highest = i;
printf("Student with the highest GPA:\n");
printf("Name: %s, Age: %d, GPA: %.1f\n", students[highest].name, students[highest].age,
students[highest].gpa);
return 0;