| 
                
                  | 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 | |  |  |