freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

學(xué)生成績管理系統(tǒng)論文加源代碼數(shù)據(jù)結(jié)構(gòu)與算法課設(shè)c語言-資料下載頁

2025-06-19 13:27本頁面
  

【正文】 +) /*冒泡排序*/ { for(j = i+1。 j n。 j++) { if (stud[j].score[o] stud[i].score[o]) /*如果j為下標(biāo)的成績大于i為下標(biāo)成績則交換*/ { temp = stud[i]。 /*交換2個(gè)下標(biāo)對應(yīng)的所有學(xué)員信息*/ stud[i] = stud[j]。 stud[j] = temp。 } } } for (i = 0。 i n。 i++) /*輸出排序后的學(xué)號姓名及排序的成績*/ { printf(\n\n)。 printf(%10s\t%15s\t%.1f, stud[i].num, stud[i].name, stud[i].score[o])。 } printf(\n\n)。 } void chenji_stu(struct Student stud[], int n, int o) { int i,j。 //用來控制循環(huán)次數(shù) struct Student temp。 //用于交換 printf( \n\n)。 printf(┏━━━━━━┳━━━━━━━━┳━━━┳━━━┳━━━┳━━━┳━━━━━┓\n)。 printf(┃學(xué)號 ┃ 姓名 ┃數(shù)據(jù)庫┃ 算法 ┃ C語言┃總成績┃ 平均成績 ┃\n)。 printf(┣━━━━━━╋━━━━━━━━╋━━━╋━━━╋━━━╋━━━╋━━━━━┫\n)。 for (i = 0。 i n1。 i++) /*冒泡排序*/ { for(j = i+1。 j n。 j++) { if (stud[j].score[o] stud[i].score[o]) /*如果j為下標(biāo)的成績大于i為下標(biāo)成績則交換*/ { temp = stud[i]。 /*交換2個(gè)下標(biāo)對應(yīng)的所有學(xué)員信息*/ stud[i] = stud[j]。 stud[j] = temp。 } } } for (i = 0。 i n。 i++) /*循環(huán)輸出學(xué)員信息*/ { int j。 //用于控制循環(huán)依次輸出三門成績 printf(┃ %10s┃%15s, stud[i].num, stud[i].name )。 for(j = 0。 j 3。 j++) /*依次輸出三門成績*/ { printf( ┃%.1f , stud[i].score[j])。 } printf( ┃%.1f, stud[i].score[4])。 //輸出總成績 printf( ┃ %.1f, stud[i].score[3])。 //輸出平均成績 printf( ┃\n)。 printf(┣━━━━━━╋━━━━━━━━╋━━━╋━━━╋━━━╋━━━╋━━━━━┫\n)。 } printf(┗━━━━━━┻━━━━━━━━┻━━━┻━━━┻━━━┻━━━┻━━━━━┛\n)。//輸出單個(gè)學(xué)員信息} /*************************************************************************** 功能:對某項(xiàng)成績進(jìn)行統(tǒng)計(jì)(求平均成績,優(yōu)生人數(shù),及格人數(shù),優(yōu)生率,及格率)并格式化輸出 參數(shù):參數(shù)*a代表結(jié)構(gòu)體數(shù)組首地址,n代表調(diào)用部分包含成員個(gè)數(shù),o代表該項(xiàng)成績的下標(biāo) 返回值:空 */ void stat_stu(struct Student stud[], int n, int o) { int i。 //控制循環(huán)次數(shù) float stat[5]。 //用來存放5個(gè)統(tǒng)計(jì)數(shù)據(jù) printf(\n平均成績\t及格率\t\t優(yōu)生率\t\t及格人數(shù)\t優(yōu)生人數(shù)\n)。 printf()。 stat[0] = class_avr(stud, n, o)。 //調(diào)用求平均函數(shù)求出平均成績 stat[4] = 0。 /*求優(yōu)生人數(shù)*/ for (i = 0。 i n。 i++) { if (stud[i].score[o] = 80) { stat[4]++。 } } stat[3] = 0。 /*求及格人數(shù)*/ for (i = 0。 i n。 i++) { if (stud[i].score[o] = 60) { stat[3]++。 } } stat[2] = (stat[4]/n)*100。 //求優(yōu)生率 stat[1] = (stat[3]/n)*100。 //求及格率 printf(%.1f\t\t%.1f%%\t\t%.1f%%\t\t%d\t\t%d\n, /*格式化輸出5項(xiàng)成績*/ stat[0], stat[1], stat[2], int(stat[3]), int(stat[4]))。 printf()。} /*************************************************************************** 功能:接收用戶的選擇分別按姓名或?qū)W號查找用戶需要的信息 參數(shù):參數(shù)struct Student stud[]代表結(jié)構(gòu)數(shù)組首地址,n代表數(shù)組調(diào)用長度 返回值:返回值不為零則返回的是與查找到的信息對應(yīng)的下標(biāo)有數(shù)學(xué)關(guān)系的值 返回值為0則表示查找失敗 */ int find_stu(struct Student stud[], int n) { int i。 //用于控制循環(huán)次數(shù) int flag = 0。 //用于接收用戶的選擇及判斷 int sign = 0。 //存放函數(shù)的返回值 char you_choice[16]。 //接收用戶輸入的查找信息 fflush(stdin)。 /*接收用戶的選擇*/ printf(請選擇您要查詢的方式:( 1:按學(xué)號 2:按名字。 ))。 scanf(%d, amp。flag)。 while (flag 1 || flag 2) /*判斷用戶選擇是否有誤有誤則重新輸入選擇*/ { printf(\n輸入有誤,請重新輸入選擇!)。 fflush(stdin)。 scanf(%d, amp。flag)。 } printf(\n請輸入該學(xué)生信息:)。 /*接收用戶的查找信息*/ fflush(stdin)。 scanf(%15s, you_choice)。 if (flag == 2) /*如果用戶選擇按姓名查找*/ { /*根據(jù)輸入信息查找相關(guān)信息并根據(jù)查找情況得出不同返回值*/ for (i = 0。 i n。 i++) //依次查找 { if (strcmp(stud[i].name, you_choice) != 0) //如果第i項(xiàng)與查找信息不匹配 { sign = 0。//令sign為0表示查找失敗 } else //如果第i項(xiàng)與查找信息匹配 { sign = i+1。//令sign的值在0到n1之間,并且等于該匹配項(xiàng)下標(biāo)i加1 break。 //查找到則中斷查找循環(huán) } } } else { /*根據(jù)輸入信息查找相關(guān)信息并根據(jù)查找情況得出不同返回值*/ for (i = 0。 i n。 i++) { if (strcmp(stud[i].num, you_choice) != 0) //如果第i項(xiàng)與查找信息不匹配 { sign = 0。 //令sign為0表示查找失敗 } else //如果第i項(xiàng)與查找信息匹配 { sign = i1。 //令sign的值在(n1)到o之間,并且等于該匹配項(xiàng)下標(biāo)i加1求反 break。//查找到則中斷查找循環(huán) } } } return sign。//返回sign的值以供下步操作判斷 } /*************************************************************************** 功能:根據(jù)查找函數(shù)的返回值找到對應(yīng)信息并刪除 參數(shù):參數(shù)struct Student stud[]代表結(jié)構(gòu)數(shù)組首地址 ,n代表數(shù)組長度,y與要?jiǎng)h除的數(shù)對應(yīng)的下標(biāo)有固定數(shù)學(xué)關(guān)系 返回值:空 */ void delete_stu(struct Student stud[], int n, int y) { int i。 //用于控制循環(huán)次數(shù) char sign。 //用于接收用戶的選擇 printf(\n確認(rèn)您要進(jìn)行刪除嗎?(y/n))。 //提醒用戶是否確定進(jìn)行刪除操作 fflush(stdin)。 sign = getchar()。 //接受用戶的選擇 if (sign == 39。y39。 || sign == 39。Y39。) //如果用戶確定刪除 { if (y 0) //若用戶是根據(jù)姓名查找的該信息 { /*把該信息后的信息依次前移一位,覆蓋該信息*/ for (i = y1。 i n1。 i++) { stud[i] = stud[i+1]。 } } else //若用戶根據(jù)學(xué)號查找到該信息 { /*把該信息后的信息依次前移一位,覆蓋該信息*/ for (i = y1。 i n1。 i++) { stud[i] = stud[i+1]。 } } } }/*************************************************************************** 功能:根據(jù)查找函數(shù)的返回值找到對應(yīng)信息并進(jìn)行選擇性修改 參數(shù):參數(shù)struct Student stud[]代表結(jié)構(gòu)數(shù)組首地址 ,n代表數(shù)組長度,y與要?jiǎng)h除的數(shù)對應(yīng)的下標(biāo)有固定數(shù)學(xué)關(guān)系 返回值:空 */ void amend_stu(struct Student stud[], int n, int y) { int ch。 //用于接收用戶對某門成績修改的選擇 int flag_score。 //值作為輸入有誤就重復(fù)輸入的循環(huán)條件 int h。 //接收scanf()函數(shù)的返回值 char x。 //用于判斷用戶中是否包含不合法輸入 float am_score。 //用于接收用戶輸入的成績 /*接收用戶對修改列項(xiàng)的選擇*/ printf(\n請輸入您要對哪一門成績進(jìn)行修改?( 0:數(shù)據(jù)庫。 1:算法。 2:C語言))。 fflush(stdin)。 scanf(%d, amp。ch)。 do /*接收用戶輸入成績的同時(shí)判斷輸入是否正確*/ { /*接收用戶輸入并產(chǎn)生返回值*/ printf(\n請輸入該門課的成績:)。 flag_score = 0。 h=0。 fflush(stdin)。 h = scanf(%f%c, amp。am_score,amp。x)。 if ((am_score 0 || am_score 100) //如果用戶信息輸入有誤 || (h != 2) || (x != 39。\n39。)) { flag_score = 1。 printf(\n輸入有誤,請重新輸入成績(0100):\n)。 //提示重新輸入 } }while (flag_score 0)。 //如果用戶輸入錯(cuò)誤則繼續(xù)循環(huán) /*把查找到的信息修改成為用戶需要的信息*/ if (y 0) { stud[y1].score[ch] = am_score。 printf(\n修改成功!\n)。 } else { stud[y1].score[ch] = am_score。 printf(\n修改成功!\n)。 } } /*******
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1