当前位置:首页 » 考试成绩 » N个学生求成绩最大值

N个学生求成绩最大值

发布时间: 2021-01-12 07:45:58

㈠ C++求N个数中的最大值

一、算法思想

假设N个数存储在一维数组中,令第一个数为最大值,从第二个数开始逐个和当前最大值进行比较,若比当前最大值大,则用它替换当前最大值。最后保存的最大值即为N个数中的最大值。


二、操作过程

4938659776132749max=49
^
4938659776132749max=65
^
4938659776132749max=97
^
4938659776132749max=97
^
4938659776132749max=97
^
4938659776132749max=97
^
4938659776132749max=97
^
max=97


三、程序代码

#include<iostream>

usingnamespacestd;

//返回数组中元素的最大值
//arr:数组
//n:数组大小
//返回n个数组元素的最大值
intmax(intarr[],intn)
{
intmaxValue=arr[0];

for(inti=1;i<n;i++)
{
if(arr[i]>maxValue)
{
maxValue=arr[i];
}
}

returnmaxValue;
}

intmain()
{
intarr[]={49,38,65,97,76,13,27,49};
intn=8;

cout<<"最大值:"<<max(arr,n)<<endl;

return0;
}


四、运行测试

㈡ python循环输入若干个同学的成绩,求出这些同学的成绩平均值、最小值和最大值

最大值和最小值可以用max(),min()

#include <iostream>

using namespace std;

int main()

{

int score[] = {78, 86, 90, 83, 74, 68, 74, 80, 69, 79, 89, 93};

int n = 12;

int min, max;

double avg;

int i;

min = max = score[0];

avg = 0;

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

avg += score[i];

if(score[i] > max)

{

max = score[i];

if(score[i] < min)

min = score[i];

}

}

avg /= n;

cout<<"平均值:"<<avg<<endl;

cout<<"最大值:"<<max<<endl;

cout<<"最小值:"<<min<<endl;

return 0;

}

(2)N个学生求成绩最大值扩展阅读:

Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。

这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。

㈢ 求n个数中的最大值

#include<stdio.h>

intmain()
{
intmax,x;
scanf("%d",&max);
while(scanf("%d',&x)!=EOF)
if(max<x)
max=x;

printf("%d ",max);
return0;
}

㈣ Python输入N个整数并求最大值

代码:

sample=[]
foriinrange(5):
n=int(input('请输入第{}个整数:'.format(i+1)))
sample.append(n)
print('已输入的整数中最大值是:专{}'.format(max(sample)))

结果属示例:

请输入第1个整数:12
请输入第2个整数:3
请输入第3个整数:23
请输入第4个整数:45
请输入第5个整数:9
已输入的整数中最大值是:45

㈤ C++:从键盘输入N个学生的分数到数组中,求最大值、最小值、平均值

#include<algorithm>
#include<vector>
#include<iostream>

int main() {
std::vector<double> scores;
double score = 0, sum = 0;
int n = 0;
std::cin >> n;
for(int i = 0; i < n; i++) {
std::cin >> score;
sum += score;
scores.push_back(score);
}
std::cout << "min: " << *std::min_element(scores.begin(), scores.end()) << std::endl;
std::cout << "max: " << *std::max_element(scores.begin(), scores.end()) << std::endl;
std::cout << "average: " << sum / scores.size() << std::endl;
system("pause");
}

㈥ C语言习题 求n个整数的最大值,输入n的值,再输入n个整数的值,求最大值,不能用数组

#include<stdio.h>
intmain()
{
intn,max,N,i;
printf("前提输入n值:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
if(i==0)
{
printf("请输入第%d个数",i+1);
scanf("%d",&N);
max=N;
}
else
{
printf("请输入第%d个数",i+1);
scanf("%d",&N);
if(N>max)
{
max=N;
}
}
}
printf("max=%d",max);
return0;
}

不知道是不是你想要的

㈦ 用c语言编程求n个学生三门成绩中每一门的最大值,最小值和平均值

#include <stdio.h>
void main()
{
double mark1,mark2,mark3,sum1,sum2,sum3,max1,max2,max3,min1,min2,min3;
int n,i;
printf("请输入学生总数.\n");
scanf("%d",&n);

printf("请输入第1位学生的成绩.(用逗号隔开)");
scanf("%d,%d,%d",&mark1,&mark2,&mark3);
sum1=mark1;
sum2=mark2;
sum3=mark3;

max1=mark1;
min1=mark1;

max2=mark2;
min2=mark2;

max3=mark3;
min3=mark3;

if(n>1)
{
for(i=2;i<=n;i++)
{
printf("请输入第%d位学生的成绩.(用逗号隔开)",i);
scanf("%d,%d,%d",&mark1,&mark2,&mark3);

if(mark1<min1)min1=mark1;
else if(mark1>max1)max1=mark1;

if(mark2<min2)min2=mark2;
else if(mark2>max2)max2=mark2;

if(mark3<min3)min3=mark3;
else if(mark3>max3)max3=mark3;

sum1+=mark1;
sum2+=mark2;
sum3+=mark3;
}
}
printf("第一科平均分为%d.最高分为%d.最低分为%d\n",sum1/n,max1,min1);
printf("第二科平均分为%d.最高分为%d.最低分为%d\n",sum2/n,max2,min2);
printf("第三科平均分为%d.最高分为%d.最低分为%d\n",sum3/n,max3,min3);
}

㈧ C语言题~有一个文件存了n个学生的成绩,要求读出成绩,计算平均成绩,统计众位数,最大值和最小值

要用链表吗?
//中位数,对长度为n的系列数据,根据数据大小排列得到的位于[(n+1)/2]位置上的数据,n为偶数时取中间2数的平均值
#include<stdio.h>#include<stdlib.h>
typedef struct scores//学生成绩链表
{
float score;
struct scores *next;

}SCORE;
void main( )

{
FILE *fp = NULL;//文件指针 int n = 0;//统计成绩个数
int i;
float temp;
float fenshu;
float sum;
SCORE *head = NULL,*p = NULL, *end =NULL;//链表头指针

if(!(fp=fopen("student.dat","r")))
{
printf("打开文件失败!\n");
exit(0);
}
head = (SCORE *)malloc(sizeof(SCORE)*1);//头节点
end = head;

fscanf(fp,"%f",&fenshu);

while(!feof(fp))//循环读取文件中成绩
{
if(fenshu == -1)
break;
if(n == 0)
{
end->score = fenshu;
end->next = NULL;
}
else
{
p = (SCORE *)malloc(sizeof(SCORE)*1);//重新申请节点
end->next = p;
end = p;
end ->score = fenshu;
end -> next = NULL;

}

fscanf(fp,"%f",&fenshu);
n++;//成绩计数

}
fclose(fp);

printf("总共有%d个成绩!\n",n);

//链表排序 加寻找众数
int j = 0;
float zshu = 0;

SCORE * np = NULL;
for(i = 0;i < n;i++)
{
p = head;
np = p->next;
for( j = 0;j < n -i-1;j++)
{

if( p->score > np->score )
{
temp = np -> score;
np -> score = p -> score;
p -> score = temp;

}

p = np; np = np ->next;
}
//求出众数
if( i == n/2)
{
if( (n%2 == 1) )//成绩为奇数个
{
zshu = p->score;

}
if( (n%2 == 0) )//成绩为偶数个
{
zshu = (p->score + np->score)/2;

}
}

}
p = head;
printf("成绩如下: \n");
do
{

printf("%f\n",p->score);
sum+=p->score;
p = p ->next;

}while( p != NULL);

printf("中位数是:%.2f\n",zshu);
printf("最小数是:%.2f,最大数是:%.2f,平均成绩是:%.2f!\n",head->score,end->score,sum/n);

}

㈨ 输入一个正整数n再输入n个学生的成绩输出最大值用C

#include<stdio.h>

intmain()
{
inti,n,c,max=-1;
scanf("%d",&n);
for(i=0;i<n;++i){
scanf("%d",&c);
if(c>max)
max=c;
}

printf("最大分数:%d ",max);

return0;
}

㈩ ,输入n个数,求其中的最大值, C语言循环结构

利用C语言在一批数中找最大数的一般方法如下:

(1)将数据存入一个一维数组中,例如存入a数组中。

(2)在数组中找最大值(假设用变量max存放最大值)。首先将a[0]视为最大数,即首先使max=a[0]。将除a[0]之外的其他所有元素(用a[i]表示)逐个与max比较,若a[i]>max,则a[i]为目前的最大数,使max=a[i]。在所有元素比较完之后,max即为最大数。

(3)输出最大数(max的值)。

这个问题涉及C语言for循环嵌套和一维数组内容,以6个数为例,具体程序如下:

#include<stdio.h>

int main(void)

{

int a[6],i,max;

for(i=0;i<6;i++) //将6个数输入a数组

scanf("%d",&a[i]);

max=a[0]; //首先将a[0]视为最大数,将a[0]存入max

for(i=1;i<6;i++) //将其余5个数与max比较,大者存入max

if(a[i]>max) max=a[i];

printf("max=%d ",max); //输出最大值

return 0;

}

程序运行结果:

10 2 14 6 5 11

max=14

(10)N个学生求成绩最大值扩展阅读:

一维数组是最简单的数组,其逻辑结构是线性表。要使用一维数组,需经过定义、初始化和应用等过程。

数组声明:

(1)在数组的声明格式里,“数据类型”是声明数组元素的数据类型,可以是java语言中任意的数据类型,包括简单类型和结构类型。“数组名”是用来统一这些相同数据类型的名称,其命名规则和变量的命名规则相同。

(2)数组声明之后,接下来便是要分配数组所需要的内存,这时必须用运算符new,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以new运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。

利用new运算符为数组元素分配内存空间的方式称为动态分配方式。

举例:

int[]x; //声明名称为x的int型数组

x=new int[10]; //x数组中包含有10个元素,并为这10个元素分配内存空间

在声明数组时,也可以将两个语句合并成一行,格式如下:

数据类型[]数组名= new 数据类型[个数];

利用这种格式在声明数组的同时,也分配一块内存供数组使用。如上面的例子可以写成:

int[]x = new int [10];

等号左边的int[]x相当于定义了一个特殊的变量x,x的数据类型是一个对int型数组对象的引用,x就是一个数组的引用变量,其引用的数组元素个数不定。

等号右边的new int[10]就是在堆内存中创建一个具有10个int型变量的数组对象。int[]x = new int [10];就是将右边的数组对象赋值给左边的数组引用变量。

热点内容
武汉大学学生会辅导员寄语 发布: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