C語(yǔ)言實(shí)現(xiàn)學(xué)生獎(jiǎng)學(xué)金評(píng)定系統(tǒng)
本文實(shí)例為大家分享了C語(yǔ)言實(shí)現(xiàn)學(xué)生獎(jiǎng)學(xué)金評(píng)定系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
說(shuō)明:
學(xué)生綜合積分由文化積分和德育積分構(gòu)成,文化積分是所有門(mén)課程成績(jī)總和除以課程門(mén)數(shù)(平均分),德育積分是參加各類(lèi)活動(dòng)的積分,學(xué)生綜合積分=文化積分×70%+德育積分×30%。按照學(xué)生綜合積分排名,獲得一等獎(jiǎng)學(xué)金1名學(xué)生,獲得二等獎(jiǎng)學(xué)金2名學(xué)生,獲得三等獎(jiǎng)學(xué)金3名學(xué)生,項(xiàng)目要求輸入班級(jí)學(xué)生成績(jī)信息,輸出獲得獎(jiǎng)學(xué)金的學(xué)生名單。已知學(xué)生成績(jī)信息包括學(xué)號(hào)、姓名、英語(yǔ)成績(jī)、網(wǎng)絡(luò)成績(jī)、C語(yǔ)言成績(jī)、數(shù)據(jù)庫(kù)成績(jī)、文化積分、德育積分和綜合積分,運(yùn)行結(jié)果如圖所示。
實(shí)例分析與實(shí)現(xiàn)
首先,按照學(xué)生成績(jī)信息的組成定義結(jié)構(gòu)體,輸入各門(mén)課程成績(jī)和德育積分,根據(jù)已知的公式,求出文化積分和綜合積分;然后,按照學(xué)生綜合積分從高到低進(jìn)行排名,并輸出排名結(jié)果;最后,輸出下標(biāo)為0的學(xué)生獲得一等獎(jiǎng)學(xué)金,下標(biāo)為1和2的學(xué)生獲得二等獎(jiǎng)學(xué)金,下標(biāo)為3、4、5的學(xué)生獲得三等獎(jiǎng)學(xué)金。具體算法如下。
① 定義結(jié)構(gòu)體類(lèi)型student。
② 利用定義的結(jié)構(gòu)體類(lèi)型定義一個(gè)十名學(xué)生的數(shù)組。
③ 利用for循環(huán)輸入十名學(xué)生的各門(mén)課成績(jī),計(jì)算學(xué)生文化積分和綜合積分。
④ 利用for循環(huán)嵌套對(duì)學(xué)生的成績(jī)按總積分由高到低進(jìn)行排序。
⑤ 打印總積分從高到低的排序結(jié)果、獲得獎(jiǎng)學(xué)金學(xué)生名單。
⑥實(shí)現(xiàn)輸出每門(mén)課程不及格學(xué)生名單。
#include <stdio.h> #include <windows.h> #include<string.h> #define NUM 10 ?//修改NUM就可以加學(xué)生數(shù)量 struct student_scores{//定義學(xué)生屬性 ?? ?int ID;//學(xué)號(hào) ?? ?char name[20];//姓名 ?? ?float english;//英語(yǔ) ?? ?float net;//網(wǎng)絡(luò) ?? ?float c_;//c語(yǔ)言 ?? ?float sql_;//數(shù)據(jù)庫(kù) ?? ?float ave;//文化積分 ?? ?float deyu;//德育 ?德育積分是參加各類(lèi)活動(dòng)的積分 ?? ?float zonghe;//綜合?? ??? ? }; //學(xué)生綜合積分由文化積分和德育積分構(gòu)成,文化積分是所有門(mén)課程成績(jī)總和除以課程門(mén)數(shù)(平均分), //德育積分是參加各類(lèi)活動(dòng)的積分,學(xué)生綜合積分=文化積分×70%+德育積分×30%。按照學(xué)生綜合積分排名, //獲得一等獎(jiǎng)學(xué)金1名學(xué)生,獲得二等獎(jiǎng)學(xué)金2名學(xué)生,獲得三等獎(jiǎng)學(xué)金3名學(xué)生,項(xiàng)目要求輸入班級(jí)學(xué)生成績(jī)信息,輸出獲得獎(jiǎng)學(xué)金的學(xué)生名單。 void main() {?? ? ?? ?struct student_scores student[NUM],temp;//定義一個(gè)結(jié)構(gòu)體名稱(chēng)數(shù)組 10個(gè)學(xué)生 ?? ?int i,k; ?? ?printf("請(qǐng)按1鍵開(kāi)始錄入\n");?? ? ?? ?printf("請(qǐng)輸入學(xué)號(hào)、姓名、英語(yǔ)成績(jī)、網(wǎng)絡(luò)成績(jī)、C語(yǔ)言成績(jī)、數(shù)據(jù)庫(kù)成績(jī)、德育積分>:\n");?? ? ?? ?printf("-----------------------------------------------------------------------\n"); ?? ?for( i=0;i<NUM;i++)//動(dòng)態(tài)錄入 ?? ?{?? ??? ??? ? ?? ??? ?scanf("%d ",&student[i].ID); ?? ??? ?scanf("%s ",&student[i].name); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ??? ?scanf("%f %f %f %f %f",&student[i].english,&student[i].net,&student[i].c_,&student[i].sql_,&student[i].deyu); ?? ??? ?student[i].ave=(student[i].english+student[i].net+student[i].c_+student[i].sql_)/4;//文化積分(平均分) ?? ??? ?student[i].zonghe=student[i].ave*70/100+student[i].deyu*30/100; ?? ?} ?? ?printf("-----------------------------------------------------------------------\n");?? ? ?? ?printf("\n"); //?? ?system("cls");//清屏 ?? ?for( i=0;i<NUM-1;i++) ?? ?{ ?? ??? ?for(k=0;k<NUM-1-i;k++) ?? ??? ?{ ?? ??? ??? ?if(student[k].zonghe<student[k+1].zonghe) ?? ??? ??? ?{ ?? ??? ??? ??? ?temp.ID = student[k].ID; ?? ??? ??? ??? ?for(i=0;i<20;i++) ?? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ?temp.name[i] = student[k].name[i]; ?? ??? ??? ??? ?} ?? ??? ??? ??? ?temp.ave = student[k].ave; ?? ??? ??? ??? ?temp.deyu = student[k].deyu; ?? ??? ??? ??? ?temp.zonghe = student[k].zonghe; ?? ??? ??? ??? ? ?? ??? ??? ??? ?student[k].ID = student[k+1].ID; ?? ??? ??? ??? ?for(i=0;i<20;i++) ?? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ?student[k].name[i] = student[k+1].name[i]; ?? ??? ??? ??? ?} ?? ??? ??? ??? ?student[k].ave = student[k+1].ave; ?? ??? ??? ??? ?student[k].deyu = student[k+1].deyu; ?? ??? ??? ??? ?student[k].zonghe = student[k+1].zonghe; ?? ??? ??? ??? ?student[k+1].ID = temp.ID; ?? ??? ??? ??? ?for(i=0;i<20;i++) ?? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ?student[k+1].name[i] = temp.name[i]; ?? ??? ??? ??? ?} ?? ??? ??? ??? ?student[k+1].ave =temp.ave; ?? ??? ??? ??? ?student[k+1].deyu =temp.deyu; ?? ??? ??? ??? ?student[k+1].zonghe = temp.zonghe; ?? ??? ??? ?} ?? ??? ?} ?? ?} ?? ?printf("成績(jī)排名<學(xué)號(hào)、姓名、文化積分、德育積分、總積分>:\n");?? ? ?? ?printf("-----------------------------------------------------------------------\n"); ?? ?printf("\n"); ?? ?for(i=0;i<NUM;i++) ?? ?{ ?? ??? ?printf("%d ",student[i].ID); ?? ??? ?printf("%s ",student[i].name); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ??? ?printf("%f %f %f\n",student[i].ave,student[i].deyu,student[i].zonghe); ?? ?} ?? ?printf("-----------------------------------------------------------------------\n"); ?? ?printf("獎(jiǎng)學(xué)金名單如下:\n");?? ? ?? ?printf("-----------------------------------------------------------------------\n"); ?? ?printf("一等獎(jiǎng)學(xué)金獲得者:%s\n",student[0].name); ?? ?printf("二等獎(jiǎng)學(xué)金獲得者:%s %s\n",student[1].name,student[2].name); ?? ?printf("三等獎(jiǎng)學(xué)金獲得者:%s %s %s\n",student[3].name,student[4].name,student[5].name); ?? ?system("pause"); }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
配置CLion管理Qt項(xiàng)目國(guó)際化支持的方法
這篇文章主要介紹了配置CLion管理Qt項(xiàng)目國(guó)際化支持的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04C/C++ 中g(shù)cc和g++的對(duì)比與區(qū)別
這篇文章主要介紹了C/C++ 中g(shù)cc和g++的對(duì)比與區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-07-07用C實(shí)現(xiàn)PHP擴(kuò)展 Image_Tool 圖片常用處理工具類(lèi)的使用
該擴(kuò)展是基于ImageMagick基礎(chǔ)實(shí)現(xiàn)的,圖片操作調(diào)用的是ImageMagick API2013-04-04jQuery移動(dòng)頁(yè)面開(kāi)發(fā)中主題按鈕的設(shè)計(jì)示例
這篇文章主要介紹了jQuery移動(dòng)頁(yè)面開(kāi)發(fā)中主題按鈕的設(shè)計(jì)示例,jQuery是當(dāng)今最具人氣的JavaScript開(kāi)發(fā)類(lèi)庫(kù),需要的朋友可以參考下2015-12-12