当前位置:首页 » 考试成绩 » 程序计算学生的平均成绩

程序计算学生的平均成绩

发布时间: 2020-12-25 12:51:23

❶ 编写一个java程序来计算学生考试成绩的平均分和他们的分数等级。你可以假设以下数据:

publicclassScore{
//记录学生的姓名
privateString[] name;
//记录分数
privateint[][] ;
//记录分数等级
privatechar[] grade;

//存储数据
privatevoidsaveData(){
this.name=newString[]{"Johnson","Aniston","Cooper","Gupta","Blair"};
this.fraction=newint[][]{{85,83,77,91,76},{80,90,95,93,48},{78,81,11,90,73},{92,83,30,69,87},{23,45,96,38,59}};
this.grade=newchar[this.name.length];
}

publicScore(){
//在构造函数中调用saveData存储数据。
this.saveData();
}

//计算分数等级。传入一个分数,返回该分数的评分等级。
privatechargetGrade(intfraction){
if(fraction>100){
//100分的考卷分数居然超过了100,肯定和老师有交易,给你个X!
return'X';
}
elseif(fraction>=85){
return'A';
}
elseif(fraction>=75){
return'B';
}
elseif(fraction>=65){
return'C';
}
elseif(fraction>=50){
return'D';
}
return'F';
}

//输出成绩/平均分/评分/班级平均分/班级评分
publicvoidprintScore(){
intaverage=0;//存储班级的平均分
for(inti=0;i<this.fraction.length;i++){
System.out.print(this.name[i]+" ");//输入学生的名字( 是输出制表符,相当于按一下Tab的效果)
inttemp=0;//临时存储数据的变量
for(intx=0;x<this.fraction[i].length;x++){
temp+=this.fraction[i][x];
System.out.print(this.fraction[i][x]+" ");
}
temp=temp/this.fraction[i].length;//此时temp的值就是该学生的平均分
this.grade[i]=this.getGrade(temp);//存入平均分
System.out.println("平均分:"+temp+" 评价"+this.grade[i]);//输出该学生的平均分和评价
average+=temp;
}
average=average/this.name.length;
System.out.println("班级平均分:"+average+" 班级评价"+this.getGrade(average));
}

publicstaticvoidmain(String[]args){
newScore().printScore();
}
}

运行结果:

Johnson 85 83 77 91 76 平均分:82 评价B

Aniston 80 90 95 93 48 平均分:81 评价B

Cooper 78 81 11 90 73 平均分:66 评价C

Gupta 92 83 30 69 87 平均分:72 评价C

Blair 23 45 96 38 59 平均分:52 评价D

班级平均分:70 班级评价C

❷ 20.以下程序的功能是:按顺序读入10名学生的4门课程的成绩,计算出每位学生的平均分并输出,程序如下: #in

int[][] students = new int[10][4];

for(int i = 0; i < students.length; i++){
for(int j = 0; j < students[i].length; j++){
System.out.println("输入专第 "+(i+1)+" 位同学的属第 "+(j+1)+" 门成绩:");
Scanner sc = new Scanner(System.in);
students[i][j] = Integer.parseInt(sc.next().toString());
}
}

for(int i = 0; i < students.length; i++){
int sum = 0;
for(int j = 0; j < students[i].length; j++){
sum += students[i][j];
}
System.out.println("第 "+(i+1)+" 为同学成绩为:"+sum+", 平均分为:"+sum/students[i].length);
}

❸ 编程C语言 输入n个学生成绩,计算他们的平均值并输出所有高于平均的学生成绩。 求解 !!

1 指针来
#include<stdio.h>
#define N 10
main()
{int i,num=0,max=0;float s=0,v,score[N],*p;
for(p=score,i=0;i<N;i++)
{scanf("%f",p+i);
if(*(p+i)>=score[max])
max=i;
s+=*(p+i);
}
v=s/N;
for(p=score,i=0;i<N;i++)
if(*(p+i)>v)
num++;
printf("average=%.1f,num=%d,%.1f\n",v,num,score[max]);
}
2.
#include<stdio.h>
#define N 10
main()
{int i,max=0,g=0,s=0,a[N];double v;
for(i=0;i<N;i++)
{scanf("%d",a+i);s=s+a[i];if(a[i]>=a[max])max=i;}
v=s/N;
for(i=1;i<=N;i++)
if(a[i]>v)
g++;
printf("大于自平均成绩%.2lf有%d人其中最高分%d",v,g,a[max]);
}

❹ 有键盘输入三个学生的数学考试成绩,计算他们的平均分并且保留两位小数,c语言程序设计题

#include<stdio.h>
voidmain()
{
floata1,a2,a3;//记录源三个学生的数学成绩
floatavg=0.0;
printf("pleaseinputscoreofmath!! ");
printf("firststudent:");
scanf("%f",&a1);
printf("secondstudent:");
scanf("%f",&a2);
printf("thirdstudent:");
scanf("%f",&a3);
avg=(a1+a2+a3)/3;//平均成绩
printf("theaverageofscoreis:%.2f ",avg);

}
够简单吧

❺ 利用JAVA编写程序,用一维数组保存20个学生的某门课程的成绩,计算平均成绩,并输出。

以下程序完成从键盘输入20个学生的成绩求平均值,不过有一个不足就是输入的成绩不能是小数,还得改改。

import java.util.Scanner;
public class Results {
//从键盘获取成绩
public float[] cj ()
{
System.out.println("请输入成绩");
Scanner input=new Scanner(System.in);
//float f=input.nextInt();
float [] number = new float[20];
for(int i =0;i<20;i++)
{
number[i]=input.nextInt();
if(i<19)
{System.out.println("数组number["+i+']'+"=:"+number[i]+",请输入成绩:");}
else
{System.out.println("数组number["+i+']'+"=:"+number[i]+'。');}
}
return number;
}

//求平均成绩
public void average(float [] number)
{
float n=0,av=0;
for(int j=0;j<number.length;j++)
{
//获得总成绩
n+=number[j];
}
av=n/number.length;
System.out.println("平均成绩:"+av);

}

public static void main(String [] args)
{
Results r=new Results();

r.average(r.cj());
}
}

❻ C语言程序,请你编写一个程序计算每个学生的平均成绩并按降序排序

你这个可以用链表来写,同类型我已经写过几次链表的,需要你可以去我回答记录里找。

这次,我不用链表,直接用2维数组,冒泡排序,那你参考吧。

原理:1、数组内存的连续性 2、利用指针冒泡排序

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
voidprStu(float*stu);//打印学生成绩参数:数组首地址
voidjx(float*p);//降序排列
intmain()
{
floatstu[50][6],*p=&stu[0][0],num[4];//stu:50学生信息1列为学生编号2~5列为4科成绩6列为平均分
inti=0,count=0;
//--这段我是用随机数做50个学生的成绩,我懒得录入200个成绩!!,你要手输,就把这段随机数改成输入函数---
srand(time(NULL));
while(i++<300)
{
count++;
if(count==1)//学生编号存储
*p++=(float)i/6+1;
if(count>1&&count<6)//随机2位数作为4科成绩
*p++=(float)(rand()%100);
if(count==6)
{
count=0;
num[0]=*(p-1);
num[1]=*(p-2);
num[2]=*(p-3);
num[3]=*(p-4);
*p++=(num[0]+num[1]+num[2]+num[3])/4;//4科平均分
}
}

//------------------------------------------------------------
prStu(&stu[0][0]);
jx(&stu[0][0]);
printf(" 降序排列后的数据: ");
prStu(&stu[0][0]);
return0;
}
voidjx(float*p)//降序排列
{
intcount1=0,count2;
float*p1=NULL,*p2=NULL,id,num[4],pj;
while(count1++<49)
{
p1=p+5;//p1p2在迭代中分别指向前后两个学生的平均分
p2=p1+6;
count2=count1-1;
while(count2++<49)
{

if(*p1<*p2)//冒泡排序
{
id=*(p1-5);
*(p1-5)=*(p2-5);
*(p2-5)=id;
num[0]=*(p1-4);
num[1]=*(p1-3);
num[2]=*(p1-2);
num[3]=*(p1-1);
*(p1-4)=*(p2-4);
*(p1-3)=*(p2-3);
*(p1-2)=*(p2-2);
*(p1-1)=*(p2-1);
*(p2-4)=num[0];
*(p2-3)=num[1];
*(p2-2)=num[2];
*(p2-1)=num[3];
pj=*p1;
*p1=*p2;
*p2=pj;
}
p2+=6;
}
p+=6;
}
}
voidprStu(float*p)//打印学生成绩参数:数组首地址
{
intcount=0,i=0;
printf("%19s%16s%6s%6s%6s%8s ","学生sID","数学","语文","外语","物理","平均分");
while(i++<300)
{

count++;
if(count==1)
printf("编号%02d的学生4科成绩及平均分为:",(int)*p++);
if(count>1&&count<6)
printf("%02d",(int)*p++);
if(count==6)
{
count=0;
printf("%.2f ",*p++);
}

}
}

❼ 编写一个程序,计算若干学生的某门功课的平均成绩,找出最高分和最低分(c语言作业,不太会,拜托了)

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 5
void main()
{
float a[N],aver,stdev,max,min;
int i;
for(i=0;i<N;i++)
scanf("%f",&a[i]);
aver=0;max=min=a[i]=0;
for(i=0;i<N;i++)
{aver=aver+a[i];
if(max<a[i]) max=a[i];
if(min>a[i]) min=a[i];}
aver=aver/N;
stdev=0;
for(i=0;i<N;i++)
stdev=stdev+(a[i]-aver)*(a[i]-aver);
stdev=sqrt(stdev/N);

for(i=0;i<N;i++)

printf("%f,%f,%f,%f,%f",aver,stdev,max,min);
}

❽ 编写一个计算一位学生三门课平均成绩的程序。要求学生成绩从键盘输入。

#include<stdio.h>
main()
{
float yuwen,shuxue,yingyu,avg;
printf("请输入该学生的三门成内绩:");
scanf("%f,%f,%f",&yumen,&shuxue,&yingyu);
avg=(yumen+shuxue+yingyu)/3;
printf("%.1f\n",avg);
}
完成容

❾ C语言程序,请你编写一个程序计算每个学生的平均成绩

#include&lt;stdio.h&gt;

void main()

{

float a[10][10];//用来存放10名学生的5门成绩,最后一位用于存放平均成绩

int i,j;

float sum=0.0;

for(i=0;i&lt;10;i++)

{

printf("请输入第%d个学生的5门成绩",i+1);

for(j=0;j&lt;5;j++)

{

scanf("%f",&a&lt;i&gt;[j]);

sum=sum+a&lt;i&gt;[j];

}

a&lt;i&gt;[10]=sum/5.0;

}

printf("10名学生的成绩及平均分 ");

for(i=0;i&lt;10;i++)

{

for(j=0;j&lt;10;j++)

printf("%.3f",a&lt;i&gt;[j]);

printf(" ");

}

}

(9)程序计算学生的平均成绩扩展阅读:

printf的用法

格式

printf函数的原型为:

#include&lt;stdio.h&gt;

int printf(const char*format,...);

在讲每一个函数的时候都会先把它的函数原型写出来,这个原型你们现在看不懂不要紧,等到学完C语言之后再来看这个原型就会发现它是很有参考意义的!它对深刻理解函数有着很大的价值。

printf的格式有四种:

1)printf("字符串 ");

#include&lt;stdio.h&gt;

int main(void)

{

printf("Hello World! ");// 表示换行

return 0;

}

其中 表示换行的意思。它是一个转义字符,前面在讲字符常量的时候见过。其中n是“new line”的缩写,即“新的一行”。

此外需要注意的是,printf中的双引号和后面的分号必须是在英文输入法下。双引号内的字符串可以是英文,也可以是中文。

2)printf("输出控制符",输出参数);

纯文本复制

#include&lt;stdio.h&gt;

int main(void)

{

int i=10;

printf("%d ",i);/*%d是输出控制符,d表示十进制,后面的i是输出参数*/

return 0;

}

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919