今天學了這個

然后我就想如果是n個成績怎么求平均分 但是陣列長度又不能用變數 我就在網上找到ctrl+z中斷的辦法 但是最后結果有問題


uj5u.com熱心網友回復:
小寫的n沒有初始化uj5u.com熱心網友回復:
average沒有容錯性,如果n==0咋個辦, 都在for里面做即可,沒有必要外面獲得一次[0]uj5u.com熱心網友回復:
主函式中沒見呼叫子函式。按題意應該子函式讀取陣列,求出平均數并回傳給主函式。主函式定義陣列并輸入陣列的值。呼叫子函式(傳入陣列)得到平均值并列印出來。uj5u.com熱心網友回復:
賦0還是這樣
uj5u.com熱心網友回復:
意思就是你所有的值都要初始化,你sum也沒有初始化的,我以為你能發現自己剩余的問題的
uj5u.com熱心網友回復:
啊對 我加上去了...還是這樣
uj5u.com熱心網友回復:
我之前試過 沒用...
uj5u.com熱心網友回復:
咋個可能沒用,只要有初始值,最后不是除0,輸出不可能那樣.uj5u.com熱心網友回復:
你的demo自己坑自己,要輸入100個成績,前面又不初始化存成績的陣列,不能少輸入幾個來測驗嗎uj5u.com熱心網友回復:
我就是想如果是n個該怎么辦 然后弄了個100 輸幾個數中間用Ctrl+z中斷 輸出結果每次都是這個
uj5u.com熱心網友回復:
你想多了,作業中不會有人用這種方式輸入。要么協議,要么配置,你最重要的是做好函式介面,知道流程如何跑的,輸入這種次要的。uj5u.com熱心網友回復:
你要想求n個, n<N, 回圈定義成 for(i=0; i<n; n++)就行了。哪兒能用得著CTRL+Z中斷uj5u.com熱心網友回復:
就象前面哥們說的先要賦初值。
比如: int a[N] = {0}, n=0, sum=0;
uj5u.com熱心網友回復:
發段代碼參考一下吧
#include <stdio.h>
#define N 100
float average(float arr[], int n)
{
int i;
float aver, sum = 0;
for(i=0; i<n; i++)
{
sum += arr[i];
}
aver = sum / n;
return aver;
}
int main()
{
int i, n=0;
float arr[N] = {0}, aver=0;
printf("要求多少個人的平均分: \n");
scanf("%d", &n);
for(i=0; i<n; i++)
{
printf("輸入第 %d 個人的成績: \n", i+1);
scanf("%f", &arr[i]);
}
aver = average(arr, n);
printf("平均分= %.2f", aver);
return 0;
}
uj5u.com熱心網友回復:
你要想求n個, n<N, 回圈定義成 for(i=0; i<n; n++)就行了。哪兒能用得著CTRL+Z中斷
就象前面哥們說的先要賦初值。
比如: int a[N] = {0}, n=0, sum=0;
發段代碼參考一下吧
#include <stdio.h>
#define N 100
float average(float arr[], int n)
{
int i;
float aver, sum = 0;
for(i=0; i<n; i++)
{
sum += arr[i];
}
aver = sum / n;
return aver;
}
int main()
{
int i, n=0;
float arr[N] = {0}, aver=0;
printf("要求多少個人的平均分: \n");
scanf("%d", &n);
for(i=0; i<n; i++)
{
printf("輸入第 %d 個人的成績: \n", i+1);
scanf("%f", &arr[i]);
}
aver = average(arr, n);
printf("平均分= %.2f", aver);
return 0;
}
今天第一次學這種在main函式外面還寫一個的 沒想明白為什么可以一個就寫完的還要在外面加一個
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/119922.html
標籤:C語言
