C语言:输入10个学生的单科成绩,求出其中的最高分、最低分以及超过平

C语言:输入10个学生的单科成绩,求出其中的最高分、最低分以及超过平均分的人数。怎么编程?我学的是C++,

#include <stdio.h>

int main()

{

int i;

float a[10],min,max,avg; //max表示最高分,min表示最低分,avg表示平均分

printf("请输入10位学生的分数\n");

printf("********************************\n");

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

{

printf("请输入一位学生的分数:");

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

}

max=min=avg=a[0];

for(i=1;i<=9;i++)

{

if(min>a[i])

{min=a[i];}

if(max<a[i])

{max=a[i];}

avg=avg+a[i];

}

avg=avg/10;

printf("max=%f\n",max);

printf("min=%f\n",min);

printf("max=%f\n",avg);

printf("********************************\n");

}

扩展资料:

main函数用法

1、C++中的main函数

C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,

不能写成某个结构体或某个类的成员。虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。

C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。

2、Java中的main函数

Java同样是以main函数作为程序执行出入口的,但Java作为“更纯洁”的面向对象语言,它的main函数与C/C++有很大的不同。

首先,返回值的概念淡化,在Java Application中main不允许返回值,因此int main是被禁止的,必须使用void main,int main仅限在JavaBean中使用。

其次,Java中所有的函数必须属于类,没有什么全局函数一说,因此main函数不能是全局成员,必须是某个类的成员。

第三,由于main函数变成了类的成员函数,因此要想直接被系统调用,还必须使用public static使其成为静态函数并具有公开权限。

第四,main函数的参数被简化,只需要提供字符串数组即可,不需要提供参数个数(这是由于Java的数组具有下标检查功能的原因)

Java Application中的main函数一般格式如下(类名可以自定义,但保存为Java源码时,主文件名必须与类名相同,否则可能无法运行)

public class MainDemo{

public static void main(String[]args){

//TODO:在此处写入主函数的内容

}

}

Java Applet的运行机制与Java Application完全不同,因此不需要main函数

3、C#中的main函数

C#中的main函数与Java大同小异,同样必须是类成员,同样使用字符串数组作唯一参数,同样是静态函数,同样的void main,

与之不同的是:main的首字母变成了大写,即"Main函数“,且是否限定为public级别已经无所谓了(默认没有public,但某些场合可能还是需要public)

另外,需要注意的是,C#中不再有”类名必须与主文件名同名“的限制,即使类名不和主文件名相同,程序照样可以运行。

C#应用程序中的main函数默认是这样的(注意main的首字母已是大写)

C#和C/C++、java不同的是C#不在拘泥于必须从main()函数开始执行,C#是属于事件触发。

class Program{

static void Main(string[]args){

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-02-28

#include <stdio.h>
#include <ctype.h>
#include <malloc.h>
#include <string.h>
int findMax(int c[],int len);//返回最大值
int findMin(int c[],int len);//返回最小值
int **findAve(int c[],int len);//返回超平均值的所有值的数组及个数 ,  返回值【0】保存的是元素个数    【1】保存的是所有超平均值的值
int main()
{
    int c[10],i=0,**n;
    printf("输入10个学生的单科成绩:");
    while(i++<10)
        scanf("%d",&c[i-1]);

    printf("最大值:%d。最小值:%d。\n",findMax(c,10),findMin(c,10));
    n=findAve(c,10);
    printf("高于平均值的数值有:");
    for(i=0;i<*n[0];i++)
        printf("%d ",n[1][i]);
    return 0;
}
int findMax(int c[],int len)
{
    int n;
    n=c[0];
    while(--len>=0)
    {
        if(n<c[len])
            n=c[len];
    }
    return n;
}
int findMin(int c[],int len)
{
    int n;
    n=c[0];
    while(--len>=0)
    {
        if(n>c[len])
            n=c[len];
    }
    return n;
}
int **findAve(int c[],int len)
{
    int sum=0,lenSave=len,i=0,**n;
    float ave;
    n=(int **)malloc(sizeof(int *)*2);
    n[0]=(int *)malloc(sizeof(int)*1);
    n[1]=(int *)malloc(sizeof(int)*11);
    *n[0]=0;
    while(--len>=0)
        sum=sum+c[len];
    ave=(float)sum/lenSave;
    printf("平均分=%f\n",ave);
    len=0;
    while(len<lenSave)
    {
        if(c[len]>ave)
        {
            (*n[0])++;
            n[1][i++]=c[len];
        }
        len++;
    }
    return n;
}

第2个回答  2018-02-28
//C语言:输入10个学生的单科成绩,求出其中的最高分、最低分以及超过平均分的人数。怎么编程?我学的是C++
#include <iostream>
using namespace std;

int main(void)
{
int a[10]={0},i,maxa=0,mina=0,total=0,rs=0;
float aver=0;
for (i=0;i<10;i++)
{
cin>>a[i];
if (i==0)
{
maxa=mina=a[i];
}else
{
if (maxa<a[i])
{
maxa = a[i];
}
if (mina>a[i])
{
mina = a[i];
}
}
total+=a[i];
}
aver = (float)total/10.0;
for (i=0;i<10;i++)
{
if (a[i]>aver)
{
rs++;
}
}
aver = total/10.0;
cout<<"max="<<maxa<<",min="<<mina<<",aver="<<aver<<",above="<<rs<<endl;
return 0;

66
77
88
99
55
44
33
55
66
77
max=99,min=33,aver=66,above=4
Press any key to continue

第3个回答  2016-05-19
#include <stdio.h>
float Max,Min;
float average(float array[],int n){
int i;
Max=Min=array[0]; //这里应该先让Max=Min为第一个数,否则,数组中的数有可能都不大于MAX或都不小于MIN
float aver,sum=0;
for (i=1; i<n; i++)
{
if(array[i]>Max)Max=array[i];
else if(array[i]<Min)Min=array[i];
sum=sum+array[i];
}
aver=sum/n;
return aver;
}本回答被网友采纳

C语言:输入10个学生的单科成绩,求出其中的最高分、最低分以及超过平_百...
float a[10],min,max,avg;\/\/max表示最高分,min表示最低分,avg表示平均分 printf("请输入10位学生的分数\\n"); printf("***\\n"); for(i=0;i<=9;i++) { printf("请输入一位学生的分数:"); scanf("%f",&a[i]); } max=min=avg=a[0]; for(i=1;i<=9;i++) { if(min>a[i]) {...

C语言:输入10个学生的单科成绩,求出其中的最高分、最低分以及超过平均分...
cout << "最高分:" << max <<endl;cout << "最低分:" << min <<endl;cout << "平均成绩:" << avg <<endl;cout << "超过平均分的人数:" << count <<endl;};运行结果:

用c语言输入十个学生的成绩求平均分!
c语言从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值?}average=(float)(sum\/0);printf(总分=%d,平均分=%f\\n,sum,average);}VC0下调试通过。然后在循环语句外使用(average=sum\/10)来计算10个数的平均数。按照题目的要求编写完源代码之后,点击“运行”,弹出输入页面之后,在输出...

c编程:有一个一维数组,存放10个学生成绩,编写程序,求出平均分,最高分...
x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https:\/\/iknow-pic.cdn.bcebos.com\/0ff41bd5ad6eddc49452851337dbb6fd536633a4"\/> 7、输出求出平均分,最高分和最低分。\/iknow-pic.cdn.bcebos.com\/54fbb2fb43166d2269c12...

c语言 从健盘输入10名学生的成绩,显示其中的最低分,最高分及平均...
{ int i;float score[10],max,min,sum=0,ave;printf("Please input 10 score:\\n");for(i=0;i<10;i++)scanf("%f",&score[i]);max=min=score[0];for(i=0;i<10;i++){ if(score[i]>max) max=score[i];if(score[i]<min) min=score[i];sum=sum+score[i];} ave=sum\/...

c语言输入10个学生的成绩,输出最高分和最低分.编写函数max求最高分...
for(int i = 0;i < 10;i++){ if(fenshu[i] < min){ min = fenshu[i];} } return min;} int main(){ int fenshu[10];printf("请输入十个整数(0~100)\\n");for(int i = 0; i < 10;i ++){ scanf("%d",&fenshu[i]);} printf("最高分数是%d,最低分数是%d",max...

c语言。输入10个学生课程成绩,输出最高分,最低分平均分
i];sum=sum+a[i];} av=sum\/n;return(av);} void main( ){ float s2[10]={67.5,89.5,99,69.5,77, 89.5,76.5,54,60,99.5};printf("平均成绩:%f\\n",f(s2,10));printf("总成绩:%f\\n",sum);printf("最高分:%f\\n",max);printf("最低分:f\\n",min);} ...

c语言题:输入10个学生的某门课程成绩,求出最高分和最低分
{ int num_max = 0; \/\/最高分 int num_min = 0; \/\/最低分 int num = 0; \/\/接收输入分数 printf("请输入成绩:\\n");for(int i =0;i<10;i++){ scanf("%d",&num);if(0 ==i){ num_max = num; \/\/第一次输入为最高和最低分数赋值,方便以后判断 ...

C语言编程,从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值...
int max_ave_i = 0; \/\/ 存储平均分最高的学生索引 int max_course_i[3] = {0}; \/\/存储单科分数,最高的学生索引 \/\/ 录入学生成绩 void input(int n) { int i;for(i=0; i<n; i++) { scanf("%s %s", stu[i].no,stu[i].name);scanf("%f %f %f", &stu[i]....

输入10个学生的成绩,输出其中的最高分和最低分,以及这10个学生的总成 ...
include<stdio.h> void main(){ int a,sum,min,max,i;i=10;sum=0;max=0;min=100;while(i--){ scanf("%d",&a);sum+=a;if(a>max)max=a;if(a<min)min=a;} printf("最高分是%d\\n最低分是%d\\n",max,min);printf("总分是%d\\n平均分是%f\\n",sum,(float)sum\/10);} ...

相似回答