j08j110屋面:求教一个最简单的C语言问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 05:30:09
有50个学生,要求将他们之中成绩在80分以上者打印出来。

我是菜鸟,不知道该怎么写,请教各位.
哎呀,这是C语言程序设计前几页的基础小题,它上面就写了题目,没写其他的。
如果,n表示学生学号,ni表示第个学生学号;g表示学生成绩,gi表示第个学生成绩;则算法可表示如下:

S1: 1→i
S2: 如果gi≥80,则打印ni和gi,否则不打印
S3: i+1→i
S4:若i≤50, 返回S2,否则,结束。

我怎么看还是不知道中间的循环该怎么写。

------------
修改了一下,这次在VC6.0下编译测试通过呵呵.
------------

#include<iostream>
#define MAX 50
using namespace std;
class student
{
public:
int getScore();
char* getName();
void setScore(int s);
void setName(char* n);
student(int score,char* name);
student();
~student();
private:

int _score;
char* _name;
};

int student::getScore()
{
return student::_score;
}
char* student::getName()
{
return student::_name;
}
student::student(int score,char* name):
_score(score),_name(name)
{
}
student::student()
{
}
void student::setScore(int s)
{
student::_score=s;
}
void student::setName(char* n)
{
student::_name=n;
}
student::~student()
{
}

int main(char* a,char**b)
{
student s[MAX];
int sc;
char nm[20];
for(int i=0;i<MAX;i++)
cin>>sc>>nm,s[i].setScore(sc),s[i].setName(nm);
for(i=0;i<MAX;i++)
if(s[i].getScore()>=80||s[i].getScore()<=50)
cout<<s[i].getName()<<":"<<s[i].getScore()<<endl;
return 0;
}

c的:

#include <stdio.h>
main()
{int sz[51],i;

for(i=1;i<=50;i++)
{
printf("enter student %d is score",i);
scanf("%d",&sz[i]);
}

for(i=1;i<=50;i++)
{
if (sz[i]>=80)
printf("student %d score:%d\n",i,sz[i]);
}
}

struct STUDENT
{
CHRE* NAME;
INT SCORE;
}

STUDENT A[50];
A[I].NAME;姓名喽
A[I].SCORE;分数;
FOR(INT I=0;I<50;I++)
IF (A[I].SCORE>80)
cout<<A[I].NAME;

#include <iostream.h>
#define N 50
void main()
{
int j,i=N;
double a[N];
cout<<"假设学生的学号为: 1 2 .......N"<<endl; //和实际情况相符
for ( j=1;j<=N;j++)
{
cout<<"请输入学号为:"<<j<<"号学生的成绩."<<endl;
cin>>a[j];
}
for (j=1;j<=N;j++)
{
while (a[j]>=80)
{
cout<<"学号为"<<j<<"的学生,"<<"学习成绩为:"<<a[j]<<"."<<endl;
break;
}
}
}
为了您的检验方便,您可以把学生数N定义的小一些。
********大学********软件工作室成员 QQ:285011143
帮您解答所有问题。

拜托,最起码告诉我这50个学生的分数是存放在哪里吧?是数组还是联合体一类的东西里,以及成绩是从哪里读入的。

通过楼上两位好人的程序中,你可以比较C和C++ 的不同之处。