#include
int main()
{
int a[5];
int i, index = 0;
printf("请输入五个学生的成绩, 用空格隔开:\n");
for(i = 0; i < 5; ++i)
{
scanf("%d", &a[i]);
}
index = 0;
for (i = 0; i < 5; ++i)
{
if (a[index] < a[i])
{
index = i;
}
}
printf("最高分:%d\n", a[index]);
printf("不及格分数:\n");
for(i = 0; i <5; ++i)
{
if (a[i] < 60)
{
printf("%d\n", a[i]);
}
}
}
// 楼主在考试?
#include
#include
///查找最高分数
///@param mark 分数的数组的首地址
///@param mark 分数个数
///@return 最高分
float find_max(const float *mark, int n)
{
if(mark == NULL || n <= 0)
return -1;
float fmax = *mark;
for(int i = 1; i < n; i++)
if(mark[i] > fmax)
fmax = mark[i];
return fmax;
}
///查找不及格的分数
///@param mark 分数数组首地址
///@param n 分数个数,返回后是不及格的分数个数
///@return 不及格的分数数组的首地址,自己释放内存
float* find_fail(const float *mark, int &n)
{
if(mark == NULL || n <= 0)
return NULL;
float * pFail = new float[n];
int iFailCount = 0;
for(int i = 0; i < n; i++)
if(mark[i] < 60)
pFail[iFailCount++] = mark[i];
n = iFailCount++;
return pFail;
}
void main()
{
float marks[5];
//输入时,用","隔开每个数,输完5个以后,按回车
printf("输入分数:");
for(int i = 0; i < 5; i++)
scanf("%f," ,&marks[i]);
float fmax = find_max(marks, 5);
printf("最高分为:%.1f\n", fmax);
int n = 5;
float *pFail = find_fail(marks, n);
printf("没有及格的有%d个:", n);
for(int i = 0; i < n; i++)
printf("%.1f ", pFail[i]);
delete pFail[];
printf("按任意键退出");
getch();
return;
}