C Programs Using Functions
Here are some C programs that utilize functions for various purposes:
1. Calculator Program:
#include <stdio.h>
// Function to add two numbers
double add(double a, double b) {
return a + b;
}
// Function to subtract two numbers
double subtract(double a, double b) {
return a - b;
}
// Function to multiply two numbers
double multiply(double a, double b) {
return a * b;
}
// Function to divide two numbers
double divide(double a, double b) {
if (b != 0) {
return a / b;
} else {
printf("Error: Division by zero\n");
return 0;
}
}
int main() {
char operator;
double num1, num2, result;
printf("Enter an operator (+, -, *, /): ");
scanf(" %c", &operator);
printf("Enter two numbers: ");
scanf("%lf %lf", &num1, &num2);
switch (operator) {
case '+':
result = add(num1, num2);
break;
case '-':
result = subtract(num1, num2);
break;
case '*':
result = multiply(num1, num2);
break;
case '/':
result = divide(num1, num2);
break;
default:
printf("Error: Invalid operator\n");
return 1;
}
printf("Result: %lf\n", result);
return 0;
}
2. Fibonacci Series:
#include <stdio.h>
// Recursive function to generate Fibonacci series
int fibonacci(int n) {
if (n <= 1) {
return n;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main() {
int n, i;
printf("Enter the number of terms: ");
scanf("%d", &n);
printf("Fibonacci Series:\n");
for (i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}
3. Factorial Calculation:
#include <stdio.h>
// Recursive function to calculate factorial
int factorial(int n) {
if (n <= 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int num;
printf("Enter a positive integer: ");
scanf("%d", &num);
if (num < 0) {
printf("Error: Factorial is defined for non-negative integers.\n");
} else {
int fact = factorial(num);
printf("Factorial of %d is %d\n", num, fact);
}
return 0;
}