1. 首页 > 教育

输入n个学生成绩(数组名记为a,假设1≤n≤50),分别统计学生中及格人数不及格人数及平均成绩?

输入n个学生成绩(数组名记为a,假设1≤n≤50),分别统计学生中及格人数不及格人数及平均成绩?

c语言练习题

#include <stdio.h>

int main()

{

int n,n1,n2;

int a;

float v1,v2;

scanf("%d", &n);

n1 = n2 = v1 = v2 = 0;

while(n--)

{

scanf("%d",&a);

if(a>=60)

{

v1 += a;

n1++;

}

else 

{

v2+=a;

n2++;

}

}

v1/=n1;

v2/=n2;

printf("Pass:%d,%.1f  Fail:%d,%.1f\n", n1, v1, n2,v2);

}

C语音~~输入N位学生的成绩,统计各分数段人数,统计结果存入数组,并输出

数组在定义的时候是要定义大小的。我理解的你的意思是:先输入要统计的学生的数目N,也既是定义一个62616964757a686964616fe58685e5aeb931333332613731大小为N的数组,有一个偷懒的方法就是你预先定义一个很大的数组,远超过你能使用的极限,比如你可能统计100人的成绩,你可以预先定义一个大小为1000的数组来存储成绩,这样就可以用for循环了,只是在输入成绩的时候你要有一个判断来告诉程序你的输入结束,比如当你输入的成绩超过100时判定输入结束。但是这样的定义浪费了内存。

更好的方法是动态建立一个数组,我用C++实现,下面是程序,你看看

#include <iostream>

using namespace std;

int main()

{

int i,n,count[6]={0,0,0,0,0,0};

cout<<"输入要统计的学生人数:"<<endl;

cin>>n;

int *score=new int[n];

cout<<"输入"<<n<<"位学生成绩:"<<endl;

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

cin>>score[i];

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

{

if(score[i]<60)

count[0]++;

else if(score[i]<=69&&score[i]>=60)

count[1]++;

else if(score[i]<=79&&score[i]>=70)

count[2]++;

else if(score[i]<=89&&score[i]>=80)

count[3]++;

else if(score[i]<=99&&score[i]>=90)

count[4]++;

else if(score[i]==100)

count[5]++;

}

cout<<"统计结果如下:"<<endl;

for(i=0;i!=6;++i)

cout<<count[i]<<" ";

cout<<endl;

delete [] score;

return 0;

}

C++:从键盘输入N个学生的分数到数组中,求不及格的人数

#include

#include

#include

class Count {

public:

Count() : count(0) {}

void operator ()(double score) {

if(score < 60) count++;

}

int get_count() const {

return count;

}

private:

int count;

};

int main() {

std::vector scores;

double score = 0;

int n = 0;

std::cin >> n;

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

std::cin >> score;

scores.push_back(score);

}

std::cout << "Number: "

<< std::for_each(scores.begin(), scores.end(), Count()).get_count()

<< std::endl;

system("pause");

}

问VB怎么编:输入n,再输入n个学生的成绩,统计及格人数

Dim x As Integer

Dim a() As Integer

Dim i As Integer

Dim ss As Integer

Dim Score As Integer

Private Sub Form_Activate()

x = InputBox("请输入学生数目")

ReDim a(1 To x)

For i = 1 To x

Score = InputBox("请输入第" & i & "个学生的成绩")

If Score >= 60 Then ss = ss + 1

Next i

MsgBox "共有" & ss & "人及格"

End Sub