fork download
  1. #include <stdio.h>
  2.  
  3. int findAverage(int a[], int n) {
  4. int i, sum = 0;
  5. double average;
  6. for (i = 0; i < n; i++) {
  7. sum += a[i];
  8. }
  9. average = (double)sum / n;
  10. printf("平均值为:%.2f\n", average);
  11.  
  12. // 检查平均值是否为整数
  13. if (average != (int)average) {
  14. return -1;
  15. }
  16.  
  17. int target = (int)average;
  18. for (i = 0; i < n; i++) {
  19. if (a[i] == target) {
  20. return i;
  21. }
  22. }
  23. return -1;
  24. }
  25.  
  26. int main(void) {
  27. int n, a[10], result, i;
  28.  
  29. printf("请输入数组元素个数:");
  30. scanf("%d", &n);
  31.  
  32. // 检查数组长度有效性
  33. if (n <= 0 || n > 10) {
  34. printf("元素个数必须在1到10之间。\n");
  35. return 1;
  36. }
  37.  
  38. printf("请输入数组元素:");
  39. for (i = 0; i < n; i++) {
  40. scanf("%d", &a[i]);
  41. }
  42.  
  43. result = findAverage(a, n);
  44. if (result == -1) {
  45. printf("没有等于平均数的值\n");
  46. } else {
  47. printf("数列中等于平均数的数的下标是:%d\n", result);
  48. }
  49.  
  50. return 0;
  51. }
Success #stdin #stdout 0s 5320KB
stdin
5
1 2 3 4 5
stdout
请输入数组元素个数:请输入数组元素:平均值为:3.00
数列中等于平均数的数的下标是:2