初學者實在看不出哪里有問題,沒報錯,可以執行,
想要求得平均數一直都是=0,
#include<stdio.h>
float average(float sum[10]);
void main()
{
float score[10],result;
printf("請輸入10個數:\n");
scanf("%d",&score);
result=average(score);
printf("average=%f",result);
}
float average(float sum[10])
{
float resule=0,i ;
for(i=0;i<10;i++)
{
resule+=sum[10];
}
resule/=10;
return resule;
}
uj5u.com熱心網友回復:
樓主沒有搞清楚scanf 的用法,如果你想輸入10個值的話要用一個回圈來輸入,這個只會獲取一個值,陣列 a[] 在scanf 中不要加&本來就是地址值,然后函式部分,resule+=sum[10]; 這個不是10吧,而是i值,你每次都加的是陣列的9號位,都是0.所以你輸出的就是0
uj5u.com熱心網友回復:
#include <stdio.h>float average(float sum[10]);
void main()
{
float score[10], result;
printf("請輸入10個數:\n");
for (int i = 0; i < 10; i++)
{
scanf("%f", &score[i]);
}
result = average(score);
printf("average=%f", result);
}
float average(float sum[10])
{
float resule = 0;
for (int i = 0; i < 10; i++)
{
resule += sum[i];
}
resule /= 10;
return resule;
}
樓主幫你改好了,不要信樓上的。
uj5u.com熱心網友回復:
好的多謝了。uj5u.com熱心網友回復:
樓上的也沒什么問題啊
uj5u.com熱心網友回復:
#include<stdio.h>
float average(float sum[10], int len);
//void main()
int main()
{
float score[10],result;
int i;
printf("請輸入10個數:\n");
for (i = 0; i < 10; i++)
//scanf("%d",&score[i]);
scanf("%f",&score[i]);
result=average(score, 10);
printf("average=%f",result);
return 0;
}
float average(float sum[10], int len)
{
float resule=0;
int i;
//for(i=0;i<10;i++)
for(i=0;i<len;i++)
{
//resule+=sum[10];
resule += sum[i];
}
resule/=len;
return resule;
}
供參考~
對于陣列還是需要好好學學~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/59042.html
標籤:C語言
