C語言練習(19)

已知5個學生的4門課的成績,要求求出每個學生的平均成績,然后對平均成績從高到低將各學生的成績記錄排序(成績最高的學生排在數組最前面的行,成績最低的學生排在數組最后面的行)。

#include <stdio.h>
#include <stdlib.h>// 定義學生結構體
typedef struct Student {float scores[4];  // 4門課的成績float average;    // 平均成績
} Student;// 計算平均成績的函數
void calculateAverage(Student* students, int num_students) {int i, j;for (i = 0; i < num_students; i++) {float sum = 0;for (j = 0; j < 4; j++) {sum += students[i].scores[j];}students[i].average = sum / 4;}
}// 交換兩個學生結構體的函數
void swapStudents(Student* a, Student* b) {Student temp = *a;*a = *b;*b = temp;
}// 冒泡排序函數,按照平均成績從高到低排序
void bubbleSort(Student* students, int num_students) {int i, j;for (i = 0; i < num_students - 1; i++) {for (j = 0; j < num_students - i - 1; j++) {if (students[j].average < students[j + 1].average) {swapStudents(&students[j], &students[j + 1]);}}}
}int main() {Student students[5];  // 定義存儲5個學生信息的數組int i, j;// 輸入5個學生的4門課成績printf("請依次輸入5個學生的4門課成績:\n");for (i = 0; i < 5; i++) {printf("學生 %d 的成績:\n", i + 1);for (j = 0; j < 4; j++) {scanf_s("%f", &students[i].scores[j]);}}// 計算每個學生的平均成績calculateAverage(students, 5);// 對學生成績記錄按照平均成績從高到低排序bubbleSort(students, 5);// 輸出排序后的學生成績信息printf("按照平均成績從高到低排序后的學生成績信息:\n");for (i = 0; i < 5; i++) {printf("學生 %d 的平均成績:%.2f,4門課成績分別為:", i + 1, students[i].average);for (j = 0; j < 4; j++) {printf("%.2f ", students[i].scores[j]);}printf("\n");}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66758.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66758.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66758.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微信小程序使用picker根據接口給的省市區的數據實現省市區三級聯動或者省市區街道等多級聯動

接口數據如上圖 省市區多級聯動&#xff0c;都是使用的一個接口通過傳參父類的code。返回我們想要的數據 比如獲取省就直接不要參數。市就把省得code傳給接口&#xff0c;區就把市的code作為參數。 <picker mode"multiSelector" :range"mulSelect1" …

VOSK實現【離線中文語音】識別

Vosk是一款開源的離線語音識別工具包&#xff0c;具有以下功能&#xff1a; 多語言支持&#xff1a;能夠對20多種語言和方言進行語音識別&#xff0c;如中文、英語、德語、法語、西班牙語等&#xff0c;可滿足不同用戶的語言需求。 模型輕量化&#xff1a;每種語言的模型大小僅…

【Maui】注銷用戶,采用“手勢”點擊label彈窗選擇

文章目錄 前言一、問題描述二、解決方案三、軟件開發&#xff08;源碼&#xff09;3.1 方法一&#xff1a;前端綁定3.2 方法二&#xff1a;后端綁定3.3 注銷用戶的方法 四、項目展示 前言 .NET 多平臺應用 UI (.NET MAUI) 是一個跨平臺框架&#xff0c;用于使用 C# 和 XAML 創…

macOS使用LLVM官方發布的tar.xz來安裝Clang編譯器

之前筆者寫過一篇博文ubuntu使用LLVM官方發布的tar.xz來安裝Clang編譯器介紹了Ubuntu下使用官方發布的tar.xz包來安裝Clang編譯。官方發布的版本中也有MacOS版本的tar.xz&#xff0c;那MacOS應該也是可以安裝的。 筆者2015款MBP筆記本&#xff0c;CPU是intel的&#xff0c;出廠…

中企出海:從國際投資建廠:投前投中投后重點事項

1. 投前重點事項 1.1 市場調研與分析 在國際投資建廠的投前階段&#xff0c;市場調研與分析是至關重要的基礎工作&#xff0c;它能夠幫助企業全面了解目標市場&#xff0c;為后續決策提供有力依據。 市場規模與潛力&#xff1a;通過收集和分析目標國家或地區的經濟數據、行業…

Git實用指南:忽略文件、命令別名、版本控制、撤銷修改與標簽管理

目錄 1.忽略特殊文件 1.1.那如何配置我們需要忽略的文件的呢&#xff1f; 1.2.如何檢驗效果&#xff1f; 2.給命令配置別名 3.基本操作之版本回退 3.1.使用場景&#xff1a; 3.2.使用方法&#xff1a; 4.撤銷修改 情況一&#xff1a;對于工作區的代碼&#xff0c;還沒…

Pytorch深度學習指南 卷I --編程基礎(A Beginner‘s Guide) 第1章 一個簡單的回歸

本章正式開始使用pytorch的接口來實現對應的numpy的學習的過程&#xff0c;來學習模型的實現&#xff0c;我們會介紹numpy是如何學習的&#xff0c;以及我們如何一步步的通過torch的接口來實現簡單化的過程&#xff0c;優雅的展示我們的代碼&#xff0c;已經我們的代碼完成的事…

String.join()

String.join() 方法是 Java 8 及其以上版本中的一個方法&#xff0c;用于將多個字符串用指定的分隔符連接成一個字符串。 其語法為&#xff1a; java復制 String joinedString String.join(CharSequence delimiter, CharSequence... elements); 在這個方法中&#xff1a;…

FastAPI 數據庫配置最佳實踐

FastAPI 數據庫配置最佳實踐 1. 基礎配置 1.1 數據庫連接配置 from sqlalchemy import create_engine, event from sqlalchemy.orm import sessionmaker, declarative_base from sqlalchemy.pool import QueuePool from sqlalchemy.exc import SQLAlchemyError import loggi…

深度解析 Java 的幻讀現象與應對策略

目錄 一、幻讀現象的本質 二、幻讀在 Java 數據庫編程中的體現 三、幻讀帶來的問題 四、應對幻讀的策略 1. 數據庫隔離級別 2. 應用層解決方案 五、總結 在 Java 的數據庫編程領域&#xff0c;幻讀是一個不容忽視的概念。它涉及到數據庫事務處理過程中數據一致性的關鍵問…

Glary Utilities Pro 多語便攜版系統優化工具 v6.21.0.25

Glary Utilities是一款功能強大的系統優化工具軟件&#xff0c;旨在幫助用戶清理計算機垃圾文件、修復系統錯誤、優化系統性能等。 軟件功能 清理和修復&#xff1a;可以清理系統垃圾文件、無效注冊表項、無效快捷方式等&#xff0c;修復系統錯誤和藍屏問題。 優化和加速&…

【貪心算法】洛谷P1106 - 刪數問題

2025 - 12 - 26 - 第 46 篇 【洛谷】貪心算法題單 - 【貪心算法】 - 【學習筆記】 作者(Author): 鄭龍浩 / 仟濹(CSND賬號名) 目錄 文章目錄 目錄P1106 刪數問題題目描述輸入格式輸出格式樣例 #1樣例輸入 #1樣例輸出 #1 提示思路代碼 P1106 刪數問題 題目描述 鍵盤輸入一個高…

Oracle 創建并使用外部表

目錄 一. 什么是外部表二. 創建外部表所在的文件夾對象三. 授予訪問外部表文件夾的權限3.1 DBA用戶授予普通用戶訪問外部表文件夾的權限3.2 授予Win10上的Oracle用戶訪問桌面文件夾的權限 四. 普通用戶創建外部表五. 查詢六. 刪除 一. 什么是外部表 在 Oracle 數據庫中&#x…

基于FPGA的BPSK+costas環實現,包含testbench,分析不同信噪比對costas環性能影響

目錄 1.算法仿真效果 2.算法涉及理論知識概要 3.Verilog核心程序 4.完整算法代碼文件獲得 1.算法仿真效果 本作品是之前作品的改進和擴展&#xff1a; 1.m基于FPGA的BPSK調制解調通信系統verilog實現,包含testbench,包含載波同步_csdn基于fpga的bpsk-CSDN博客 2.m基于FP…

Linux 目錄操作詳解

Linux目錄操作詳解 1. 獲取當前工作目錄1.1 getcwd()1.2 get_current_dir_name() 2. 切換工作目錄2.1 chdir() 3. 創建和刪除目錄3.1 mkdir()3.2 rmdir() 4. 獲取目錄中的文件列表4.1 opendir() 打開目錄4.2 readdir() 讀取目錄內容4.3 closedir() 關閉目錄 5. dirent 結構體6.…

Spring 依賴注入詳解:創建 Bean 和注入依賴是一回事嗎?

1. 什么是依賴注入&#xff08;Dependency Injection&#xff0c;DI&#xff09;&#xff1f; 依賴注入 是 Spring IoC&#xff08;控制反轉&#xff09;容器的核心功能。它的目標是將對象的依賴&#xff08;如其他對象或配置&#xff09;從對象本身中剝離&#xff0c;由容器負…

AI時代的網絡安全:傳統技術的落寞與新機遇

AI時代的網絡安全&#xff1a;傳統技術的落寞與新機遇 在AI技術飛速發展的浪潮中&#xff0c;網絡安全領域正經歷著前所未有的變革。一方面&#xff0c;傳統網絡安全技術在面對新型攻擊手段時逐漸顯露出局限性&#xff1b;另一方面&#xff0c;AI為網絡安全帶來了新的機遇&…

后端開發Web

Maven Maven是apache旗下的一個開源項目&#xff0c;是一款用于管理和構建java項目的工具 Maven的作用 依賴管理 方便快捷的管理項目依賴的資源&#xff08;jar包&#xff09;&#xff0c;避免版本沖突問題 統一項目結構 提供標準、統一的項目結構 項目構建 標準跨平臺(…

前沿技術趨勢洞察:2024年技術的嶄新篇章與未來走向!

引言 時光飛逝&#xff0c;2024年已經來臨&#xff0c;回顧過去一年&#xff0c;科技的迅猛進步簡直讓人目不暇接。 在人工智能&#xff08;AI&#xff09;越來越強大的今天&#xff0c;我們不再停留在幻想階段&#xff0c;量子計算的雛形開始展示它的無窮潛力&#xff0c;Web …

【10.2】隊列-設計循環隊列

一、題目 設計你的循環隊列實現。 循環隊列是一種線性數據結構&#xff0c;其操作表現基于 FIFO&#xff08;先進先出&#xff09;原則并且隊尾被連接在隊首之后以形成一個循環。它也被稱為“環形緩沖器”。 循環隊列的一個好處是我們可以利用這個隊列之前用過的空間。在一個普…