fork download
  1. #include <stdio.h>
  2. void input(int *buffer, int *length);
  3. void output(int *buffer, int length);
  4. int sum_numbers(int *buffer, int length);
  5. int find_numbers(int *buffer, int length, int number, int *numbers);
  6. int main() {
  7. int length;
  8. int buffer[10];
  9. int sum;
  10. int new_buffer[10];
  11. int count;
  12.  
  13. input(buffer, &length);
  14.  
  15. sum = sum_numbers(buffer, length);
  16. if (sum == 0) {
  17. printf("n/a\n");
  18. return 1;
  19. }
  20. count = find_numbers(buffer, length, sum, new_buffer);
  21. if (count == 0) {
  22. printf("n/a\n");
  23. return 1;
  24. }
  25. printf("%d\n", sum);
  26. output(new_buffer, count);
  27. return 0;
  28. }
  29. int sum_numbers(int *buffer, int length) {
  30. int sum = 0;
  31. for (int i = 0; i < length; i++) {
  32. if (buffer[i] % 2 == 0) {
  33. sum += buffer[i];
  34. }
  35. }
  36. return sum;
  37. }
  38. int find_numbers(int *buffer, int length, int number, int *numbers) {
  39. int count = 0;
  40. for (int i = 0; i < length; i++) {
  41. if (buffer[i] != 0 && number % buffer[i] == 0) {
  42. numbers[count] = buffer[i];
  43. count++;
  44. }
  45. }
  46. return count;
  47. }
  48. void input(int *buffer, int *length) {
  49. scanf("%d", length);
  50. for (int i = 0; i < *length; i++) {
  51. scanf("%d", &buffer[i]);
  52. }
  53. }
  54. void output(int *buffer, int length) {
  55. for (int i = 0; i < length; i++) {
  56. printf("%d ", buffer[i]);
  57. }
  58. printf("\n");
  59. }
Success #stdin #stdout 0.01s 5276KB
stdin
10
4 3 9 0 1 2 0 2 7 -1
stdout
8
4 1 2 2 -1