fork download
  1. #include <stdio.h>
  2. #include <pthread.h>
  3.  
  4. void *calculate_square(void *arg) {
  5. int number = *((int *)arg);
  6. for (int i = 1; i <= number; i++) {
  7. printf("Square of %d: %d\n", i, i * i);
  8. }
  9. printf("\n");
  10. return NULL;
  11. }
  12.  
  13. void *check_even_odd(void *arg) {
  14. int number = *((int *)arg);
  15. if (number % 2 == 0)
  16. printf("%d is an even number\n", number);
  17. else
  18. printf("%d is an odd number\n", number);
  19.  
  20. return NULL;
  21. }
  22.  
  23. void *calculate_average(void *arg) {
  24. int number = *((int *)arg);
  25. int sum = 0;
  26. int temp;
  27. for (int i = 1; i <= number; i++) {
  28. printf("Enter number %d: ", i);
  29. scanf("%d", &temp);
  30. sum += temp;
  31. }
  32. float average = (float)sum / number;
  33. printf("Average: %.2f\n", average);
  34. return NULL;
  35. }
  36.  
  37. int main() {
  38. printf("21BAI1633, Karthik Vinayan\n");
  39.  
  40. int n;
  41. printf("Enter a number: ");
  42. scanf("%d", &n);
  43.  
  44. pthread_t thread1, thread2, thread3;
  45. pthread_create(&thread1, NULL, calculate_square, &n);
  46. pthread_create(&thread2, NULL, check_even_odd, &n);
  47. pthread_create(&thread3, NULL, calculate_average, &n);
  48.  
  49. pthread_join(thread1, NULL);
  50. pthread_join(thread2, NULL);
  51. pthread_join(thread3, NULL);
  52.  
  53. return 0;
  54. }
  55.  
Success #stdin #stdout 0.01s 5404KB
stdin
Standard input is empty
stdout
21BAI1633, Karthik Vinayan
Enter a number: Average: -nan
0 is an even number