zl程序教程

您现在的位置是:首页 >  工具

当前栏目

解答私信@qq_51485340

QQ 解答 私信
2023-09-27 14:19:40 时间

某班计算机考试,有最多不超过30人参加考试,考试后要求:

1) 输入每个学生的学号和成绩;

2)打印出成绩在90分以上和成绩不及格的学生的学号和成绩

【提示】:用一维数组score存放每个学生课程的成绩,用一维数组num存放每个学生的学号。两个数组序号要对应。

代码块:

#include <stdio.h>
#include <stdlib.h>

#define STUNUM 10    //学生总人数,可以通过宏定义调整总人数

void input(int *num,  double *score, int StuNum);
void Above90Output(int *num, double *score, int StuNum);
void FailOutput(int *num, double *score, int StuNum);

void input(int *num , double *score, int StuNum){
	int i;
	for(i = 0; i < StuNum; i++){
		printf("Enter No.%d Student number: ", i+1);
		scanf_s("%d", &num[i]);
		while(num[i] <= 0){
			printf("Error!Retry!\nEnter No.%d Student number: ", i+1);
			scanf_s("%d", &num[i]);
		}
		printf("Enter No.%d Student score: ", i+1);
		scanf_s("%lf", &score[i]);
		while(score[i] < 0){
			printf("Error!Retry!\nEnter No.%d Student score: ", i+1);
			scanf_s("%lf", &score[i]);
		}
	}
}//input
void Above90Output(int *num, double *score, int StuNum){
	int i;
	printf("Student information above 90: \n");
	for(i = 0; i < StuNum; i++)
		if(score[i] > 90.0)
			printf("  Num: %4d  Score: %4.1lf\n", num[i], score[i]);
}//Above90Output
void FailOutput(int *num, double *score, int StuNum){
	int i;
	printf("Failed student information: \n");
	for(i = 0; i < StuNum; i++)
		if(score[i] < 60.0)
			printf("  Num: %4d  Score: %4.1lf\n", num[i], score[i]);
}//FailOutput

int main()
{
	int *num = (int*)malloc(STUNUM*sizeof(int));
	double *score = (double*)malloc(STUNUM*sizeof(double));
	input(num, score, STUNUM);
	Above90Output(num, score, STUNUM);
	FailOutput(num, score, STUNUM);
	free(num);
	free(score);

	system("pause");
	return 0;
}