我對編程很陌生。我的問題涉及到一個賦值,我必須創建一個函數來計算三個整數的平均值。在C中,如何從用戶定義的函數中獲取一個值,然後將其打印回另一個用戶定義的函數中?
這部分對我來說很簡單,但我也必須創建另一個函數來打印出平均值,並說「平均值爲%d」等。我只是不知道如何從第一個函數到第二個函數的平均值。
我對編程很陌生。我的問題涉及到一個賦值,我必須創建一個函數來計算三個整數的平均值。在C中,如何從用戶定義的函數中獲取一個值,然後將其打印回另一個用戶定義的函數中?
這部分對我來說很簡單,但我也必須創建另一個函數來打印出平均值,並說「平均值爲%d」等。我只是不知道如何從第一個函數到第二個函數的平均值。
我會做這樣的事......它一直以來我用c很長的時間,但是這可能讓你開始...
int main()
{
int a,b,c;
printf("\nEnter value for A: ");
scanf("%i", &a);
printf("\nEnter value for B: ");
scanf("%i", &b);
printf("\nEnter value for C: ");
scanf("%i", &c);
// now send those to your function to calculate the average and print the result
showAverage(a,b,c);
}
function showAverage(int a, int b, int c)
{
float avg = (a+b+c)/3;
printf("\nThe average is %f", &avg);
}
'void showAverage(int a,int b,int c)'和float avg =(a + b + c)/ 3.0; –
非常感謝您的幫助。我認爲這是一個很好的做法,我可能需要像這樣提交,但是在我的任務中,我需要一個單獨的函數來計算在讀取值之後的平均值,然後是專門用於顯示平均值的另一個函數。我意識到這是不合邏輯的,但這是他給我的任務。謝謝 – antuasallong
而且一個演員可以跳過警告'(float)(a + b + c)/ 3;' –
這聽起來像你指的是「迴歸」來自函數的數據。
下面是一個例子:
int addNumbers(int first, int second){
int third;
third = first + second;
return third;
}
這將使你打電話的addNumbers(4,8),並將它歸還12
printf("The product of 4 and 8 is %d", addNumbers(4,8));
我相信這是你在做什麼問。
嗨第一個函數可以使用返回類型返回平均值,例如double average(int a1,int a2,int a3) { return (a1+a2+a3)/3.0; }
,在第二個函數中你可以: 1.調用平均函數並存儲或打印返回值; 2.將平均值作爲函數參數傳遞。 3.使用平均值作爲全局變量(在這種情況下,平均函數不會返回值)
你可以做到這一點
float calculateAverage(int a,int b, int c);
void showAverage(float avg);
int main()
{
int a,b,c;
float avg;
printf("\nEnter value for A: ");
scanf("%i", &a);
printf("\nEnter value for B: ");
scanf("%i", &b);
printf("\nEnter value for C: ");
scanf("%i", &c);
// calculate the average
avg = calculateAverage(a,b,c);
showAverage(avg);
}
float calculateAverage(int a,int b, int c) {
return (a+b+c)/3.0;
}
void showAverage(float avg)
{
printf("\nThe average is %f", avg); // &avg is the address we just print we use the value and not the address so don't use &avg but avg
}
請添加代碼 – anatolyg
一組數字的平均值是這些項目的總和除以組中的項目數量。既然你有一個固定大小的集合,它是'(a + b + c)/ 3'。 – halfer