滿意答案
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iYhVWMmJTO2QWYlVTZhN2Y2IWN2IjNlRGMhdDZiV2Yk9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
josjosh
2017.07.03
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iYhVWMmJTO2QWYlVTZhN2Y2IWN2IjNlRGMhdDZiV2Yk9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
采納率:49% 等級:9
已幫助:3268人
【解題思路】
本題用類數組很好解決。可以先聲明一個具有姓名、學号、成績3個資料成員的類,然後輸出、輸入可以寫成類裡的成員函數。完成了類聲明之後,用這個類定義一個含有10個元素的數組,這樣就可以很友善的實作輸入學生資訊、存儲學生資訊,再根據需要輸出學生資訊的功能。而且這樣程式看起來也會相當簡潔。具體代碼如下:
【程式代碼】
#include //控制台操作頭檔案
#include //字元串操作頭檔案
class Stu //定義學生類
{private: //私有成員關鍵字
char Name[32]; //姓名
int ID; //學号
int Score; //成績
public: //外部成員關鍵字
Stu(){strcpy(Name,"無"); //無參構造函數
ID=0;Score=0;}
int Inp() //從鍵盤輸入學生資訊函數
{printf("請輸入姓名:");
scanf("%s",Name);
printf("請輸入學号:");
scanf("%d",&ID);
printf("請輸入成績:");
scanf("%d",&Score);}
int Put() //學生資訊輸出函數
{printf("姓名:%s,學号:%d,成績:%d\n",Name,ID,Score);}
int Get(){return Score;} //擷取學生成績的成員函數
}; //類定義結束
int main() //主函數
{Stu S[10]; //學生資訊數組
int i; /循環變量
for(i=0;i<10;i++) //用一個循環輸入10個學生資訊
{printf("請輸入第%d個學生資訊\n",i+1);
S[i].Inp(); //調用成員函數輸入學生資訊
printf("\n");} //換行
printf("\n不及格的學生有:\n");
for(i=0;i<10;i++) //用循環檢測每個學生是否及格
if(S[i].Get()<60) S[i].Put();//輸出不及格學生資訊
printf("\n"); //換行
system("PAUSE"); //螢幕暫停,以便看到顯示結果
return 0;} //結束程式
【運作結果】
以上程式在DEV C++中運作通過,運作結果截圖如下:
02分享舉報