建立动态数组,输入5个学生成绩,另外用一个函数检查其中有无低于60分的,输出不合格成绩
一个实现,供参考:
#include <stdio.h>
#include <stdlib.h> //提供malloc原型
//获取5个学生成绩输入
int * getScores(){
//为存储5个学生成绩分配内存空间,让一个int指针指向这块内存, 如果需要改为浮点数类型,可以进行相应修改
int * scores=(int *)malloc(5*sizeof(int));
int i=0;
//从输入获取5个学生成绩
while(i<5) {
printf("请输入第%d个学生的成绩:",i+1);
scanf("%d",&scores[i]);
i++;
}
return scores; //返回指向5个学生成绩的指针
}
//显示成绩不及格学生的信息
void showNoPass(int * scores){
int i=0;
int nopass=0;
while(i<5){
//存在低于60分的成绩就打印信息
if(scores[i]<60){
if(nopass==0){
printf("低于60分的分数如下:\n");
}
printf("%d ",scores[i]);
nopass++;
}
i++;
}
//不存在低于60分的成绩也输出提示信息,也可以删去下面这段代码
if(nopass==0){
printf("没有分数低于60分的成绩。\n");
}
}
int main(void){
//执行获取成绩输入的函数
int * scores =getScores();
//执行显示成绩不合格学生的信息的函数
showNoPass(scores);
return 0;
}