2. 输入10个学生的成绩到一个数组里,编写函数求学生的平均成绩和最高分,并用冒泡法这学生成绩进排序后输出.

作者&投稿:栋阙 (若有异议请与网页底部的电邮联系)
c语言:2.有一个数组,内放10个学生的成绩,写一个函数,求出平均分,最高分和最低分。~

// Program Min
// Purpose: 求数组元素的最小值
int Min(int *A, int nSize)
{
int k;
int nMin;

nMin = A[0];
for (k = 1; k < nSize; k++)
if (A[k] < nMin) nMin = A[k];

return nMin;
}

// Program Max
// Purpose: 求数组元素的最大值
int Max(int *A, int nSize)
{
int k;
int nMax;

nMax = A[0];
for (k = 1; k < nSize; k++)
if (A[k] > nMax) nMax = A[k];

return nMax;
}

#include

int f(int *a)//如果数组为全局变量,括号部分可不写
{
int i;

for(i=1,max=a[0],min=a[0];i<10;i++)
{
if(max<a[i])max=a[i];
if(min>a[i])min=a[i];

}

}
int main()
{
int i,data[10];//存放数据
for(i=0;i<10;i++)
scanf("%d",&data[i]);
printf(“平均分%d最高分%d最低分", f(data),max,min};
return 0;

}

#include<iostream.h>
void score(int n)
{
double res[100];
double sum=0;
double ave;
for (int i=0;i<n;i++)
{
cin>>res[i];
}
for (i=0;i<n;i++)
{
sum+=res[i];
}
ave=sum/n;
cout<<"总分为:"<<sum<<endl;
cout<<"平均分为:"<<ave<<endl;
double max=res[0];
for (i=0;i<n;i++)
{

if(res[i]>=max)
{
max=res[i];
}
}
cout<<"最高分为:"<<max<<endl;
for(i=0;i<n;i++)
{
for(int j=0;j<=i;j++)
{
if(res[i]>res[j])
{
double temp=res[i];
res[i]=res[j];
res[j]=temp;
}
}
}
cout<<"成绩由高到低排序:";
for(i=0;i<n;i++)
{
cout<<res[i]<<" ";
}

}
void main()
{
int n=10;
cout<<"请输入"<<n<<"个学生的成绩:"<<endl;
score(n);
cout<<endl;
}

//统计分数频率 并排序3——1
#include <stdio.h>
#include <string.h>
#define max 100
int main()
{
int i,j,k,t,s,x,n,M;
bool flag;
float a[max],b[max],c[max],m[max];
s=0;
k=0;
x=0;
while(scanf("%f",&a[s])!=EOF)
{
s++;
}
for(i=0;i<s;i++)
{
flag=1;
for(j=i+1;j<s;j++)
{
if(a[j]==a[i])
{
flag=0;
break;
}
}
if(flag)
b[x++]=a[i];
}
// for(i=0;i<x;i++)
// printf("%f ",b[i]);

for(n=0;n<x;n++)
{
k=1;
for(i=0;i<s;i++)
if(b[n]==a[i])
c[n]=k++;
//for(k=0;k<x;k++)
// printf("%f ",c[k]);
}
M=c[0];
for(k=1;k<x;k++)
{
if(M<c[k])
{
M=c[k];
// m[0]=b[k];
}
//printf("%f\n\n",M);
}
k=0;
for(i=0;i<x;i++)
{
if(M==c[i])
m[k++]=b[i];
}
for(i=0;i<k-1;i++)
{
for(j=0;j<k-1-i;j++)
if(m[j]>m[j+1])
{
t=m[j];m[j]=m[j+1];m[j+1]=t;
}
}
for(i=0;i<k;i++)
printf("%.2f ",m[i]);
return 0;
}
//分六步骤

首先存储随机的学生分数 使用一个累加器S

其次for循环存储出现的各个分数代表运用到“锁”flag用法一定得记住(怎么设flag初值,一定在满足条件后就跳出break)

用c[x]存各个分数出现的频率,累加器k注意在每次大循环前赋值k=1;

再比较法 找到C[x]中最大值M

再顺序查找出c[x]中和M一样大的分数b[x]存到m[k++]中,

冒泡排序法对m[k]进行升序排序
输出


昭阳区15378101596: c语言编程:输入10个学生的成绩,存放到一个数组中 -
程孟富山: #include <stdio.h>int main() {int grade[10];int i,j,x;float s=0.0;printf("请输入10个学生成绩:\n");for(i=0;i<10;i++) //把学生成绩放到数组中{scanf("%d",&grade[i]);s+=grade[i]; //求总分}for(i=0;i<10;i++) //把数组从小到大排序{ ...

昭阳区15378101596: c语言从键盘输入10个学生的成绩,建立一个一维数组,求学生的平均成绩 -
程孟富山: #include<stdio.h> void main(){ float result[10],avg=0,sum=0; int i=0; for(i=0;i<10;i++){ printf("请输入第%d个学生的成绩:",(i+1)); scanf("%f",&result[i]); while(result[i]<0){ printf("成绩不能小于0,请重新输入"); printf("请输...

昭阳区15378101596: C语言:编写程序,输入10个学生的成绩数据,计算并输出平均分及低于平均分的学生的人数. -
程孟富山: #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("请输入一位学生的分数:"...

昭阳区15378101596: 用C语言编程:从键盘输入10个学生的成绩,由高到低排序输出成绩 -
程孟富山: 你好,我们这里需要用到数组镶套使用for函数以及冒泡算法,具体的代码如下. #include <iostream> using namespace std; int main() { int s [10], i, j, t; cout << "输入10个数:"; for (i = 0; i < 10; i++) { cout << "请输入第" << i+1 << "名学生的...

昭阳区15378101596: 用C语言 1.定义一个数组a[11],用以存放学生的成绩,2.从键盘输入10个学生成绩 -
程孟富山: #include<stdio.h>#define N 11 main() { int i,j; double sc[N],cj[N],t,m;//sc存放第一次输的成绩,cj反序存放成绩 for(i=0;i<N-1;i++)//从键盘上输入数,给sc赋值 { printf("请输入第%d个学生的成绩",i+1); scanf("%lf",&sc[i]); } printf("请再输...

昭阳区15378101596: C语言编程,从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值 -
程孟富山: #include <stdio.h>#define MAX 10struct student {char no[10];char name[10];float score[3]; }stu[MAX];float ave_course[3] = {0}; float ave_student[MAX] = {0};int max_ave_i = 0; // 存储平均分最高的学生索引 int max_course_i[3] = {0}; //存储...

昭阳区15378101596: C语言:编写一个程序,从键盘输入10个学生成绩,求平均成绩. -
程孟富山: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16/* C语言:编写一个程序,从键盘输入10个学生成绩,求平均成绩*/ #include <stdio.h> #define N 10 intmain() {floatarr[N]={0.0},s=0.0;inti;for(i=0;i!=N;++i){//输入scanf("%f",&arr[i]);s+=arr[i];}printf("%0.2f\n", s/N);//输出平均数return0; }

昭阳区15378101596: 编写一个程序,从键盘输入10个学生的成绩,求出成绩中的最高分、最低分、平均分以及超过平均分的人数并输出 -
程孟富山: for(j=0;j<9;j++)//由小到大排列 {for(i=0;i<(9-j);i++){if(data[i]>data[i+1]){temp=data[i];data[i]=data[i+1];data[i+1]=temp;}} } ★最大值为data[9] ★最小值为data[0] ★平均值为avr: sum=0; for(i=0;i<10;i++) {sum += data[i]; } avr = sum/10; ★超过...

昭阳区15378101596: 编写一个c++程序,从键盘输入10个学生的名字和成绩并存在一个结构体数 -
程孟富山: #include<iostream> using namespace std; struct Student { string name; int score; }; int main() { int i,m,n; struct Student s[10]; cout<<"输入10个学生姓名和成绩:"<<endl; for(i=0; i<10; i++) cin>>s[i].name>>s[i].score; n=m=0; for(i=1; i<10; i++) { if(...

昭阳区15378101596: 在语言中输入10个学生成绩并统计每个成绩的人数 -
程孟富山: # include <stdio.h> void main() { int fun(int score[],int m,int below[]); int score[100],m,below[100]; int i=0; char c; printf(" 请输入学生成绩,回车后结束:\n"); do { scanf("%d",&score[i]); i++; c=getchar(); if(c=='\n') break; } while(1); m=fun(score...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网