題目相關(guān)
題目描述
現(xiàn)有有N個(gè)學(xué)生的數(shù)據(jù)記錄,每個(gè)記錄包括學(xué)號空骚、姓名叠国、三科成績。 編寫一個(gè)函數(shù)input,用來輸入一個(gè)學(xué)生的數(shù)據(jù)記錄蕾总。 編寫一個(gè)函數(shù)print,打印一個(gè)學(xué)生的數(shù)據(jù)記錄粥航。 在主函數(shù)調(diào)用這兩個(gè)函數(shù),讀取N條記錄輸入生百,再按要求輸出递雀。 N<100
輸入
學(xué)生數(shù)量N占一行 每個(gè)學(xué)生的學(xué)號、姓名蚀浆、三科成績占一行缀程,空格分開。
輸出
每個(gè)學(xué)生的學(xué)號市俊、姓名杨凑、三科成績占一行,逗號分開秕衙。
解題
分析
? 讀完題目之后蠢甲,結(jié)合輸入、輸出要求据忘,可顯而易見地發(fā)現(xiàn)這是考察自定義函數(shù)以及結(jié)構(gòu)體的一道題鹦牛。
? 根據(jù)學(xué)生的相關(guān)信息,可定義對應(yīng)的結(jié)構(gòu)體類型
typedef struct node{
char stuNumber[15];
char stuName[15];
int ch;
int ma;
int en;
}node;
? 可先將主題框架構(gòu)造好勇吊,先假設(shè)已存在input和output函數(shù)直接進(jìn)行使用曼追,再去思考具體的實(shí)現(xiàn)。在假設(shè)函數(shù)時(shí)可以考慮一下它的參數(shù)汉规,從這個(gè)函數(shù)會對什么樣的數(shù)據(jù)進(jìn)行處理出發(fā)進(jìn)行思考礼殊,會更容易些。本題輸入针史、輸出和學(xué)生相關(guān)信息與學(xué)生人數(shù)有關(guān)晶伦,所以參數(shù)暫定為人數(shù)與學(xué)生信息。
int main()
{
int n;
node tmp;
cin>>n;
input(n,stu);// 輸入數(shù)據(jù)
print(n,stu);//輸出數(shù)據(jù)
return 0;
}
? 完成整體后啄枕,再去實(shí)現(xiàn)具體函數(shù)細(xì)節(jié)婚陪。
void input(int n,node stu[])
{
for(int i=1;i<=n;i++)
{
cin>>stu[i].stuNumber>>stu[i].stuName;
cin>>stu[i].ch>>stu[i].ma>>stu[i].en;
}
}
void print(int n,node stu[])
{
for(int i=1;i<=n;i++)
{
cout<<stu[i].stuNumber<<","<<stu[i].stuName<<","<<stu[i].ch<<","<<stu[i].ma<<","<<stu[i].en<<endl;
}
}
完整實(shí)現(xiàn)
#include <iostream>
using namespace std;
typedef struct node{
char stuNumber[15];
char stuName[15];
int ch;
int ma;
int en;
}node;
node stu[105]={0};
void input(int n,node stu[])
{
for(int i=1;i<=n;i++)
{
cin>>stu[i].stuNumber>>stu[i].stuName;
cin>>stu[i].ch>>stu[i].ma>>stu[i].en;
}
}
void print(int n,node stu[])
{
for(int i=1;i<=n;i++)
{
cout<<stu[i].stuNumber<<","<<stu[i].stuName<<","<<stu[i].ch<<","<<stu[i].ma<<","<<stu[i].en<<endl;
}
}
int main()
{
int n;
node tmp;
cin>>n;
input(n,stu);
print(n,stu);
return 0;
}
? 題目不是很難,主要考察對基礎(chǔ)知識點(diǎn)的掌握频祝。
公眾號:咸魚愛學(xué)習(xí)
本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布泌参!