按學生成績
A. 在Excel里怎樣對學生成績按分數段定ABCD等
設學生的成績從A1單元格開始,成績分等的從B1單元格開始,則在B1單元格復制以下公式:
=IF(A1>=90,"A",IF(AND(A1>=80,A1<90),"B",IF(AND(A1>=70,A1<80),"C",IF(AND(A1>=60,A1<70),"D","E"))))
然後,將滑鼠移到B1單元格的右下角,出現十字時按住左鍵下拉,直到最後一個學生的成績為止。
這個公式的成績分段是90(含)以上為A,80(含)-89為B,70(含)-79為C,60(含)-69為D,60以下為E,只是個示例,你可以根據你們的具體要求修改公式中的分數。
公式的效果如圖所示。
B. C語言~輸入5個學生的學號,成績,按成績排序(升序),查找90分以上的
代碼:
#include<stdio.h>
struct student
{
int num,score[3],age;
char name[20];
float aver;
}stu[1000];
main()
{
int i,j,n;
struct student temp;
/*注意:變數temp的類型與數組stu的元素類型為相同結構體的時候,才可交換兩個結構體數組元素,所以此處需要定義temp的類型*/
printf("請輸入學生人數: ");
scanf("%d",&n);
printf("請按順序輸入名字、學號、年齡、分數: ");
for(i=0;i<n;i++)
{
scanf("%s",&stu<i>.name);
scanf("%d",&stu<i>.num);
scanf("%d",&stu<i>.age);
for(j=0;j<3;j++)
scanf("%d",&stu<i>.score[j]);
}
for(i=0;i<n;i++)
{int sum=0;
for(j=0;j<3;j++)
sum+=stu<i>.score[j];
stu<i>.aver=sum/3.0;
}
for(i=0;i<n-1;i++)/*利用冒泡排序法按平均分高低排序*/
{for(j=0;j<n-i-1;j++)
{
if(stu[j].aver>stu[j+1].aver)
{temp=stu[j];/*此處交換的應當是數組元素,而不是平均分*/
stu[j]=stu[j+1];
stu[j+1]=temp;
}
}
}
printf("學生信息如下(姓名、學號、年齡、成績、平均分): ");
for(i=0;i<n;i++)
{
printf("%s%d%d",stu<i>.name,stu<i>.num,stu<i>.age);
for(j=0;j<3;j++)
printf("%d",stu<i>.score[j]);
printf("%.2f ",stu<i>.aver);
}
}
(2)按學生成績擴展閱讀:
頭文件#include<stdio.h>中
stdio.h是stand input&output的縮寫,意思是標准輸入輸出頭文件。凡是用到標准輸入輸出函數,就要調用該頭文件。
查看stdio.h目錄下包含哪些函數:主要有文件訪問、二進制輸入/輸出、格式化和非格式化輸入/輸出、文件定位、錯誤處理、文件操作等。
具體打開自己的VS安裝目錄,找到include文件夾,打開include夾下面的stdio.h文件即可查看
(C:Program Files(x86)Microsoft Visual Studio 14.-1.1.10include)
常用標准輸入輸出函數:
scanf()從屏幕格式輸入
printf()格式輸出到屏幕
getchar()從屏幕得到一個字元
putchar()字元輸出到屏幕
gets()從屏幕得到一個字元串
puts()字元串輸出到屏幕
fscanf()從磁碟格式輸入
fprintf()格式輸出到磁碟
fgetc()從磁碟得到一個字元
fputc()字元輸出到磁碟
fgets()從磁碟得到一個字元串
fputs()字元串輸出到磁碟
#號是預處理語句,表明在編譯之前預先進行處理。
.h是header file的縮寫,表面這是一個頭文件。
include是文件包含命令,後面跟著引號""或者尖括弧<>,意思是將引號或尖括弧內指定的文件包含到本程序中,成為本程序的一部分,而包含的文件通常是由系統提供的。
C. excel如何將學生成績按從大到小排列順序
選中數據,「數據」-「排序」,把關鍵字設為成績或成績所在列(沒標題行的時候就所在列)……確定,OK
D. C語言 學生成績排序 按學生的序號輸入 n 名學生的成績,按照分數由高到低的順序輸出學生的名次、序號和成績
#include<stdio.h>
#include<malloc.h>
typedefstructstudent
{
intid;
intscore;
structstudent*next;
}STU;
intstuIndex;
voidinputStuInfo(STU*stuHead);//輸入學生信息
voidorderStuInfo(STU*stuHead);//按照分數高到低順序重組鏈表
voidprintStuInfo(STU*stuHead,intflag);//列印學生信息。參數flag=0:正常列印鏈表信息。flag!=0:列印排序後的名次信息
intmain()
{
STU*stuHead=(STU*)malloc(sizeof(STU));
stuHead->next=NULL;
stuIndex=1;
inputStuInfo(stuHead);
printf("--列印原始輸入的鏈表!--
");
printStuInfo(stuHead,0);
printf("--開始按分數降序排列!--
");
orderStuInfo(stuHead);
printf("--鏈表按降序重組完成!--
");
printf("--列印降序排序的鏈表!--
");
printStuInfo(stuHead,1);
return0;
}
voidorderStuInfo(STU*stuHead)
{
STU*stuSave1=NULL,*stuSave2=NULL,stuSave3;
stuSave1=stuHead;
while(stuSave1->next!=NULL)//冒泡排序
{
stuSave2=stuSave1->next;
while(stuSave2->next!=NULL)
{
if(stuSave1->next->score<stuSave2->next->score)//交換成員值,保留原鏈表指針值
{
stuSave3=*(stuSave1->next);
stuSave1->next->id=stuSave2->next->id;
stuSave1->next->score=stuSave2->next->score;
stuSave2->next->id=stuSave3.id;
stuSave2->next->score=stuSave3.score;
}
stuSave2=stuSave2->next;
}
stuSave1=stuSave1->next;
}
}
voidprintStuInfo(STU*stuHead,intflag)
{
inti=1;
while(stuHead->next!=NULL)
{
if(flag==0)
printf("學生%d,成績%d
",stuHead->next->id,stuHead->next->score);
else
printf("第%d名,學生%d,成績%d
",i++,stuHead->next->id,stuHead->next->score);
stuHead=stuHead->next;
}
}
voidinputStuInfo(STU*stuHead)
{
intscore;
STU*stuNew=NULL,*stuTail=NULL;
while(1)
{
printf("輸入學生%d的成績:(輸入負數結束輸入)",stuIndex);
scanf("%d",&score);
if(score<0)
break;
stuNew=(STU*)malloc(sizeof(STU));
stuNew->score=score;
stuNew->id=stuIndex;
stuNew->next=NULL;
if(stuHead->next==NULL)
stuHead->next=stuNew;
else
stuTail->next=stuNew;
stuTail=stuNew;
stuIndex++;
}
}
E. 編寫成績排序程序。按學生的序號輸入學生的成績,按照分數由高到低的順序輸出學生
#include<iostream.h>
struct
std
//定義學生結構體,包含學好number,成績score,名次mc
{
int
number;
int
score;
int
mc;
};
#define
N
100
int
main()
{
int
i,j,max,num;
static
int
t=1;
struct
std
stent[N],temp;
cin>>max;
for(i=0;i<max;i++)
{
cin>>stent[i].number;
cin>>stent[i].score;
}
for(i=0;i<max-1;i++)
//冒泡法排序,從高分到低分
{
for(j=0;j<max-i;j++)
if(stent[j].score<stent[j+1].score)
{
temp=stent[j];
stent[j]=stent[j+1];
stent[j+1]=temp;
}
}
for(i=0;i<max-1;i++)
//通過前面的冒泡法排序,已知成績從高到低排序,就可以確定學生的名次,成績相同,名次相同,否側加一
{
if(stent[i].score>stent[i+1].score)
{
stent[i].mc=t++;
stent[i+1].mc=t;
}
else
if(stent[i].score=stent[i+1].score)
{
stent[i].mc=t;
stent[max-1].mc=t;
}
}
cout<<"
成績
"<<"
學號
"<<"
名次
"<<endl;
for(i=0;i<max;i++)
cout<<"
"<<stent[i].score<<"
"<<
stent[i].number<<"
"<<stent[i].mc<<endl;
cout<<"******************************************************************************"<<endl;
for(i=1;i<=stent[max-1].mc;i++)
//輸出相同名次的人數和學號,同名次的學號輸出在同一行中,一行最多輸出10個學號
{
num=0;
for(j=i-1;j<=max-1;j++)
{
if(i==stent[j].mc)
{
num++;
cout<<stent[j].number<<"
";
}
if(0==num%10)
cout<<endl;
}
cout<<"第"<<i<<"名有:"<<num<<"個"<<endl;
}
return
0;
}
F. 在Excel中輸入學生成績,如何按成績從低到
在excel中對學生成績進行排名操作方法如下。(以下圖中的數據為例子) 1、數據截止到第8行,把C2至C8單元格全選中。 2、在編輯欄中輸入公式:=RANK(B2,B$2:B$8)。 3、按鍵盤的CTRL+回車鍵,C2至C8單元格即同時顯示出名次數字,即可。 拓展資料: Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟體。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟體。在1993年,作為Microsoft Office的組件發布了5.0版之後,Excel就開始成為所適用操作平台上的電子製表軟體的霸主。
G. 學生按A,B,C,D打的分數,怎麼算啊
這叫等第評價,主考部門會提前確定每個等第的分數線,比如數學滿分150分,今年確定A級為131分以上者,其他科目也如此,這是我們對孩子的水平評價就是:這個學生6 A,那個孩子5A1B,就看出高低了。
H. 在excel中,想按學生成績進行班級排序和年級排序,如何實現
如果你是想同時體現排名,班級可以用排序的關鍵字設置,年級的可以使用rank()函數。
I. excel根據學生各科成績統計每個學生總分
1、打開EXCEL文件,輸入每個學生的分數。
J. 認為按學生成績分班教學是利大於弊還是弊大於利
就讀高中的時候,學生們的壓力會比較大,大概到了高二的時候,很多學校都會分出「普通班」跟「重點班」,當年小編讀的就是重點班,其實所謂的重點班,不過就是一些成績好的人聚集在一起。那麼今天的話題是:高中按學生成績分重點班,是利大於弊,還是弊大於利?
首先來談談分班的好處
分重點班之後,學校就可以更好地實行「因材施教」,對於成績好的學生,更能激發他們的潛能,或許在這個班級里,目標不再是普通的一本,而是985、211這些名牌大學。
對於老師來說,上課就會輕松更多,老師以前四十五分鍾的一節課,至少有三十分鍾是講給那些基礎比較差的學生聽的,畢竟上課要照顧全部同學,講課不能太快,要盡量讓全班同學都能聽懂每個細節。如果分了重點班,那麼老師講課就能跳過很多細節,多出了很多學習的時間,對於老師跟學生都是一個天大的好處。
最後肯定就是幾率問題,在「重點班」里可能有差生,但是大家肯定都是想要學習的,平時老師也不用特別強調幾率問題,可能老師不來上課,學生都能安靜在教室里自習,學習氛圍變好了,對於學生也是有好處的。
接著來談談分班的壞處
上面說到了重點班的學生都是愛學習的,不過正是有了這個班級,很多家長就會盡量把自己的孩子安排進這個班級,所以導致所謂的「重點班」,變成了普通的班級,老師依然是好老師,只不過教室里學生水平參差不齊,對於老師來說,教學又成為一個大問題。
最後聰明的家長可能會發現,只要孩子願意學習,無論是在哪個班級,照樣也有一個好未來,因為對於孩子來說,並不是老師的原因,而是他們願不願意努力,這一點希望家長可以知道。