程序计算学生的平均成绩
❶ 编写一个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<stdio.h>
void main()
{
float a[10][10];//用来存放10名学生的5门成绩,最后一位用于存放平均成绩
int i,j;
float sum=0.0;
for(i=0;i<10;i++)
{
printf("请输入第%d个学生的5门成绩",i+1);
for(j=0;j<5;j++)
{
scanf("%f",&a<i>[j]);
sum=sum+a<i>[j];
}
a<i>[10]=sum/5.0;
}
printf("10名学生的成绩及平均分 ");
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
printf("%.3f",a<i>[j]);
printf(" ");
}
}
(9)程序计算学生的平均成绩扩展阅读:
printf的用法
格式
printf函数的原型为:
#include<stdio.h>
int printf(const char*format,...);
在讲每一个函数的时候都会先把它的函数原型写出来,这个原型你们现在看不懂不要紧,等到学完C语言之后再来看这个原型就会发现它是很有参考意义的!它对深刻理解函数有着很大的价值。
printf的格式有四种:
1)printf("字符串 ");
#include<stdio.h>
int main(void)
{
printf("Hello World! ");// 表示换行
return 0;
}
其中 表示换行的意思。它是一个转义字符,前面在讲字符常量的时候见过。其中n是“new line”的缩写,即“新的一行”。
此外需要注意的是,printf中的双引号和后面的分号必须是在英文输入法下。双引号内的字符串可以是英文,也可以是中文。
2)printf("输出控制符",输出参数);
纯文本复制
#include<stdio.h>
int main(void)
{
int i=10;
printf("%d ",i);/*%d是输出控制符,d表示十进制,后面的i是输出参数*/
return 0;
}