C語(yǔ)言實(shí)現(xiàn)成績(jī)統(tǒng)計(jì)示例
C語(yǔ)言 成績(jī)統(tǒng)計(jì)問題
題目描述
某班有學(xué)生 n 人,從終端讀入 n 及 n 個(gè)人學(xué)生的成績(jī),試編程實(shí)現(xiàn)以下功能:
①打印出前 3 個(gè)最好成績(jī)及取得每個(gè)最好成績(jī)的人數(shù);
②若 90 分以上計(jì)為優(yōu),75-89 分計(jì)為“良”,60-74 分計(jì)為“中”,60 分以下計(jì)為“不及格”,試統(tǒng)計(jì)各檔成績(jī)所占百分率。
代碼:
#include<stdio.h> int main() { int n,i=1,grade,x_1=0,x_2=0,x_3=0,t,n_1=1,n_2=1,n_3=1,a=0,b=0,c=0,d=0; //x_1,x_2,x_3為前三名學(xué)生成績(jī),n_1,n_2,n_3為前三名相應(yīng)人數(shù),a,b,c,d為每個(gè)成績(jī)等級(jí)學(xué)生數(shù) printf("請(qǐng)輸入學(xué)生人數(shù):"); scanf("%d",&n); getchar(); do { printf("請(qǐng)輸入第%d個(gè)學(xué)生的成績(jī):",i); scanf("%d",&grade); getchar(); if(grade>=90) a++; else if(grade>=75&&grade<=89) b++; else if(grade>=60&&grade<=74) c++; else if(grade>=0&&grade<=59) d++; else printf("請(qǐng)輸入正確成績(jī):"); if(grade==x_1) n_1++; else if(grade==x_2) n_2++; else if(grade==x_3) n_3++; else if(grade>x_3) {x_3=grade;n_3=1;} if(x_1<x_2) {t=x_1;x_1=x_2;x_2=t;t=n_1;n_1=n_2;n_2=t;} if(x_1<x_3) {t=x_1;x_1=x_3;x_3=t;t=n_1;n_1=n_3;n_3=t;} if(x_2<x_3) {t=x_2;x_2=x_3;x_3=t;t=n_2;n_2=n_3;n_3=t;}//將成績(jī)進(jìn)行排序 ,相對(duì)應(yīng)的人數(shù)也要進(jìn)行交換 i++; }while(i<=n); printf("第一名為:%d,有%d名\n",x_1,n_1); printf("第二名為:%d,有%d名\n",x_2,n_2); printf("第三名為:%d,有%d名\n",x_3,n_3); printf("成績(jī)等級(jí)為“優(yōu)”占比為:%.2f\n",a*1.0/n); printf("成績(jī)等級(jí)為“良”占比為:%.2f\n",b*1.0/n); printf("成績(jī)等級(jí)為“中”占比為:%.2f\n",c*1.0/n); printf("成績(jī)等級(jí)為“不及格”占比為:%.2f\n",d*1.0/n); return 0; }
運(yùn)行結(jié)果:
C語(yǔ)言實(shí)現(xiàn)成績(jī)統(tǒng)計(jì) ——藍(lán)橋
題目描述
小藍(lán)給學(xué)生們組織了一場(chǎng)考試,卷面總分為 100 分,每個(gè)學(xué)生的得分都是一個(gè) 0 到 100 的整數(shù)。
如果得分至少是 60 分,則稱為及格。如果得分至少為 85 分,則稱為優(yōu)秀。
請(qǐng)計(jì)算及格率和優(yōu)秀率,用百分?jǐn)?shù)表示,百分號(hào)前的部分四舍五入保留整 數(shù)。
#include <stdio.h> #include <stdlib.h> ? int main(int argc, char* argv[]) { ?? ? ?? ?int i , n , j = 0, k = 0; ?? ?int arr[10001] = { 0 }; ?? ?scanf("%d", &n);//輸入人數(shù) ?? ?for (i = 0; i < n; i++) ?? ?{ ?? ??? ?scanf("%d", &arr[i]);//輸入成績(jī) ?? ??? ?if (arr[i] >= 60) ?? ??? ??? ?j++; ?? ??? ?if (arr[i] >= 85) ?? ??? ??? ?k++; ?? ?} ? int jige=0,youxiu=0; ? jige=j*100.0/n+0.5;//實(shí)現(xiàn)小數(shù)四舍五入 ? youxiu=k*100.0/n+0.5; ? ?printf("%d%%\n%d%%", jige,youxiu);輸出含有%的結(jié)果時(shí)要用到%% ?? ?return 0; }
在這里小編提一下有的編譯器可能會(huì)出現(xiàn)報(bào)錯(cuò)。
嚴(yán)重性 代碼 說明 項(xiàng)目 文件 行 禁止顯示狀態(tài)
錯(cuò)誤 C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Project7 D:\cccc\Project7\Project7\c7.c 64
但是這并不影響代碼的正確性。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C語(yǔ)言不用鏈表完成學(xué)生管理系統(tǒng)(完整代碼)
這篇文章主要介紹了C語(yǔ)言不用鏈表完成學(xué)生管理系統(tǒng)(完整代碼),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04C++編程語(yǔ)言中賦值運(yùn)算符重載函數(shù)(operator=)的使用
本文主要介紹了C++編程語(yǔ)言中賦值運(yùn)算符重載函數(shù)(operator=)介紹,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06C語(yǔ)言實(shí)現(xiàn)超市信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)超市信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03C++實(shí)現(xiàn)LeetCode(33.在旋轉(zhuǎn)有序數(shù)組中搜索)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(33.在旋轉(zhuǎn)有序數(shù)組中搜索),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C++實(shí)現(xiàn)有向圖鄰接表的構(gòu)建
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)有向圖鄰接表的構(gòu)建,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04