用void函数求某门课程最高分函数,三门课程选择其中一门即可
时间: 2024-02-24 07:57:02 浏览: 51
C语言函数調用.docx
好的,既然你需要一个 `void` 函数来实现求某门课程最高分,那么可以使用函数指针作为函数参数,如下所示:
```C++
void maxScore(int score1, int score2, int score3, int selectedCourse, int* max) {
switch (selectedCourse) {
case 1:
*max = score1 > score2 ? score1 : score2;
*max = *max > score3 ? *max : score3;
break;
case 2:
*max = score2 > score1 ? score2 : score1;
*max = *max > score3 ? *max : score3;
break;
case 3:
*max = score3 > score1 ? score3 : score1;
*max = *max > score2 ? *max : score2;
break;
default:
// 如果选择的课程编号不在 1-3 之间,将 max 设为 -1 表示非法输入
*max = -1;
break;
}
}
```
这个函数的参数包括三门课程的成绩(`score1`、`score2`、`score3`)以及你要选择哪门课程来求最高分的编号(`selectedCourse`)和一个指向最高分的指针(`max`)。函数会根据选择的课程编号来判断哪些成绩需要比较,然后将最高分存储在指针所指向的内存中。
你可以这样调用该函数:
```C++
int main() {
int score1 = 90, score2 = 80, score3 = 85;
int selectedCourse = 2;
int maxScore;
maxScore(score1, score2, score3, selectedCourse, &maxScore);
printf("最高分为:%d\n", maxScore);
return 0;
}
```
注意要将指向最高分的指针作为最后一个参数传递给函数,并在函数调用结束后使用该指针获取最高分。
阅读全文