karen7710
|
分享:
▼
以下的程式還是有出現錯誤~請問要怎麼更改呢? 複製程式
#include <stdio.h>
#include <stdlib.h>
int grade1(int,int,int,int);
int grade2(int,int,int,int);
int main(void)
{
int a,b,c;
printf("請輸入三科成績:\n");
scanf("%d %d %d",&a,&b,&c);
printf("sum=%d avg=%d\n",grade1(j),grade2(avg));
system("pause");
return 0;
}
int grade1(int a,int b,int c,int &j)
{
int j = a + b + c;
return j;
}
int grade2(int a,int b,int c,int &avg)
{
int avg=j/3;
return avg;
}
|
|
x0
[10 樓]
From:歐洲 | Posted:2007-06-17 13:32 |
|
|
GNUGCC
|
分享:
▲
▼
函式 grade() 要改成這樣...
int grade(int a, int b, int c, int *avg) { int sum = a + b + c; *avg = sum / 3; return sum; }
在呼叫時回傳值為總和,如果要輸出平均的話不用再呼叫一次,只要拿在呼叫 grade() 的時候傳入 avg 所指向的變數做輸出即可, 例如 :
int vge; // 先宣告一個變數儲存平均值
// 假設 3 個成績在 80, 90, 100 cout << "成續總和為 : " << grade(80, 90, 100, &vge) << ", 平均 : " << vge;
|
|
x0
[11 樓]
From:臺灣中華電信HINET | Posted:2007-06-17 14:01 |
|
|
karen7710
|
分享:
▲
▼
你的意思是改成這樣嗎?可是還是有出現錯誤~ 複製程式
#include <stdio.h>
#include <stdlib.h>
int grade(int,int,int,int);
int main(void)
{
int a,b,c;
printf("請輸入三科成績:\n");
scanf("%d %d %d",&a,&b,&c);
printf("sum=%d avg=%d\n",grade(sum),grade(avg));
system("pause");
return 0;
}
int grade(int a,int b,int c,int *avg)
{
int sum=a+b+c;
*avg = sum / 3;
return sum;
}
|
|
x0
[12 樓]
From:歐洲 | Posted:2007-06-17 21:13 |
|
|
GNUGCC
|
分享:
▲
▼
可能要改這樣...
int main(void) { int a,b,c, avg; printf("請輸入三科成績:\n"); scanf("%d %d %d",&a,&b,&c); printf("sum=%d avg=%d\n",grade(a, b, c, &avg), avg); system("pause"); return 0; }
|
|
x1
[13 樓]
From:臺灣中華電信HINET | Posted:2007-06-18 00:45 |
|
|
karen7710
|
分享:
▲
▼
更改過後還是有錯誤= =" 複製程式
#include <stdio.h>
#include <stdlib.h>
int grade(int,int,int,int);
int main(void)
{
int a,b,c, avg;
printf("請輸入三科成績:\n");
scanf("%d %d %d",&a,&b,&c);
printf("sum=%d avg=%d\n",grade(a,b,c,&avg),avg);
system("pause");
return 0;
}
int grade(int a,int b,int c,int *avg)
{
int sum=a+b+c;
*avg = sum / 3;
return sum;
}
|
|
x0
[14 樓]
From:歐洲 | Posted:2007-06-18 08:35 |
|
|
|