C++中函数问题1

来源:百度知道 编辑:UC知道 时间:2024/06/22 23:51:09
函数的功能是学生成绩从高分到低分排序,并统计优秀与不及格的人数。用下面方法实现,函数形式为:
int fun(int s[],int n,int *x);
希望详细点,谢谢~
#include "iostream.h"
#include "stdlib.h"
const int c = 60;
const int a = 90;
int fun(int s[], int n, int* x)
{
int an = 0;//优秀的个数
int dn = 0;//不及格的个数
for(int i=0; i<n; i++)
{
if(s[i] > a)
an++;
else if(s[i] < c)
dn++;
}
*x = dn;
return an;
}
void main()
{
int i,n,s[10000],an(0),dn(0);
cout<<"请输入学生的个数:"<<endl;
cin>>n;
cout<<"成绩如下:"<<endl;
for(i=0;i<n;i++)
s[i]=rand()%101;
for(i=0;i<n;i++)
cout<<s[i]<<endl;
fun(s,n,&dn);
cout<<"优秀个数:"<<an<<'\n'<<"不及格个数:"<<dn<<endl;
}
为什么优秀个数永远是0,哪里错了呢?

#include "iostream.h"
#include "stdlib.h"
const int c = 60;
const int a = 90;
int fun(int s[], int n, int* x)
{
int an = 0;//优秀的个数
int dn = 0;//不及格的个数
for(int i=0; i<n; i++)
{
if(s[i] > a)
an++;
else if(s[i] < c)
dn++;
}
*x = dn;
return an;
}
void main()
{
int i,n,s[10000],an(0),dn(0);
cout<<"请输入学生的个数:"<<endl;
cin>>n;
cout<<"成绩如下:"<<endl;
for(i=0;i<n;i++)
s[i]=rand()%101;
for(i=0;i<n;i++)
cout<<s[i]<<endl;
an = fun(s,n,&dn);////////////////////////////////////明白??
cout<<"优秀个数:"<<an<<'\n'<<"不及格个数:"<<dn<<endl;
}

没办法更详细了