Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        2年前关闭。
                                                                                            
                
        
#include <stdio.h>
#include <locale.h>
#include <conio.h>
#include <string.h>
#include <math.h>

int main()
{

 int array[5];
 int x;
 int max;
 int y;
 float k;

 printf("Enter capacity of array")
 scanf("%d",&y);

 for(x=0;x<y;x++)
    {
     printf("Enter the numbers:");
     scanf("%d",&array[x]);
     max*=array[x];
    }

  k=pow(max,(1/y) );

  printf("%d\n",max);
  printf(" %f",k);

 getch();
 }


大家好,我想找到几何平均值,但我总是得到k = 1
 我知道这是简单的代码,但我看不到问题,有人可以帮助我吗?

最佳答案

在大多数情况下,使用int y表达式1/y等于0 ...

更准确地说,在所有情况下,除了y为-1或0或+1时。

因此,您可能需要先将其更改为1.0/y ...

关于c - 我在c中找不到几何平均值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48469598/

10-11 19:35