按学生成绩
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这些名牌大学。
对于老师来说,上课就会轻松更多,老师以前四十五分钟的一节课,至少有三十分钟是讲给那些基础比较差的学生听的,毕竟上课要照顾全部同学,讲课不能太快,要尽量让全班同学都能听懂每个细节。如果分了重点班,那么老师讲课就能跳过很多细节,多出了很多学习的时间,对于老师跟学生都是一个天大的好处。
最后肯定就是几率问题,在“重点班”里可能有差生,但是大家肯定都是想要学习的,平时老师也不用特别强调几率问题,可能老师不来上课,学生都能安静在教室里自习,学习氛围变好了,对于学生也是有好处的。
接着来谈谈分班的坏处
上面说到了重点班的学生都是爱学习的,不过正是有了这个班级,很多家长就会尽量把自己的孩子安排进这个班级,所以导致所谓的“重点班”,变成了普通的班级,老师依然是好老师,只不过教室里学生水平参差不齐,对于老师来说,教学又成为一个大问题。
最后聪明的家长可能会发现,只要孩子愿意学习,无论是在哪个班级,照样也有一个好未来,因为对于孩子来说,并不是老师的原因,而是他们愿不愿意努力,这一点希望家长可以知道。