- //提示输入5个学生的成绩,算出平均分、最高分、最低分,然后输出
- #include <stdio.h>
- int max(int *p);
- int min(int *p);
- double averge(int *p);
- int main(){
-
- //定义一个数组来储存成绩
- int score[5];
- //接收数据
- for (int i = 0; i<5; i++) {
- //提示输入成绩
- printf("请输入第%d个学生的成绩:\n",i+1);
- scanf("%d",&score[i]);
- }
-
- //分别定义变量a,b,c
- double a = averge(score);
- int b = max(score);
- int c = min(score);
- //输出相应值
- printf("平均分=%f\n最大值=%d\n最小值=%d\n",a,b,c);
- return 0;
- }
- //求平均数
- double averge(int *p){
- //int sum;
- double sum = 0;//改成double 分数最好都定义成double吧
- for (int i = 0; i<5; i++) {
- sum +=p[i];
- }
-
- return sum/5;
- }
- //求最大值
- int max(int *p){
- int max = p[0];
- for (int i = 1; i<5; i++) {
- if (max < p[i]) {
- max = p[i];
- //return max;
- }
- return max;
- }
- }
- //求最小值
- int min(int *p){
- int min= p[0];
- for (int i = 1; i<5; i++) { //从1开始
- if (min > p[i]) {
- min = p[i];
- // return min; //这句话你想干嘛 可以删掉
- }
-
- }
- return min;//位置
- }
复制代码
数组大小未知 你输入的时候就得判断啊 你去看看动态分配数组长度吧 malloc那几个函数 |