黑马程序员技术交流社区

标题: 遇到难题了, [打印本页]

作者: 赵安庆    时间: 2016-5-7 00:44
标题: 遇到难题了,
写1个程序,接收输入班级的人数, 然后依次的输入每1个学员的成绩.
     将学员的成绩存储在数组之中.
     输入完毕之后, 显示总成绩和平均成绩.
     
     然后再去掉1个最高分和1个最低分, 再计算平均成绩.
     


作者: 赵安庆    时间: 2016-5-7 00:45
//1.接收输入班级人数
    int num = 0;
    printf("请输入班级人数: ");
    scanf("%d",&num);
   
    //2.声明1个数组存储学生成绩.数组的长度有多少个人就有多少个长度.
    int scores[num];
   
    //3. 循环接收每个人的成绩并将成绩存储到数组中.
    for(int i = 0; i < num; i++)
    {
        printf("请输入第%d个同学的成绩: ",i+1);
        scanf("%d",&scores[i]);
    }
   
    //4.调用模块中的函数求累加和与平均值.
    int totalScore = getSum(scores, num);
    int avg = getAvg(scores, num);
   
    //5.找最大值和最小值.
    int max = getMax(scores, num);
    int min = getMin(scores, num);
   
    //6. 再求累加和平均值.
    //   (总成绩 - 最高分 - 最低分)/(人数 -2 )
   
    int avg1  =  (totalScore - max - min) / (num - 2);
   
   
    printf("总成绩为%d,平均成绩为%d,去掉1个最高分:%d 再去掉1个最低分:%d 平均成绩是:%d",
           totalScore,
           avg,
           max,
           min,
           avg1
           );
   
   
   
     */
    return 0;
}

作者: buzheng    时间: 2016-5-7 07:53
#include<stdio.h>
int main()
{
    int num = 0;
    int min = INT32_MAX;
    int max = INT32_MIN;
    double sum = 0.0;
    printf("请输入班级人数:");
    scanf("%d",&num);
    double goal[num];
    for(int i = 0;i < num;i++)
    {
        printf("请输入第%d个同学的成绩:",i + 1);
        double stuGoal = 0;
        scanf("%lf",&stuGoal);
        goal[i] = stuGoal;
        sum +=goal[i];
        if(goal[i] >= max)
        {
            max = goal[i];
        }
        if(goal[i] < min)
        {
            min = goal[i];
        }
    }
    double avg = (sum - min - max) / num;
    printf("班级总成绩为%g,去掉1个最高分和1个最低分后平均成绩为%.2lf",sum,avg);
}

作者: king、小白    时间: 2016-5-7 14:34
for循环输入(scanf)保存到数组中,然后遍历数组,sum+=arr[i];ave=sum*0.1/arr.count,,,然后选择循环比较得到MAXarr[i]和MINarr[i]用sum=sum-MAXarr[i]-MINarr[i] ave=sum*0.1/10     没有Xcode所以你就将就看吧  应该能看懂
作者: 深情怎及久伴    时间: 2016-5-8 00:53
//定义变量存储班级人数
int num = 0;
//提示输入人数并接受
printf("请输入班级人数:\n");
scant("%d",&num);
//定义一个数组
int scores[num];
//循环变量并且赋值给数组int lj = 0;
for(int i = 0; i < num;i++)
{
   printf("请输入第%d个同学的成绩:",i + 1);
   scant("%d",&scores);
lj += scores;
}
//计算累加分和平均分
printf("总成绩为%d平均分为%d\n",lj,lj / num);
  调用别的模块的函数求最大值和最小值!
int qiuMax(int arr[],int num)
{
int max = arr[0];
   for(int i = 0;i < num;i++)
{
      if(max < arr[ i ] )
{
    max = arr;
}

}
return max;}
int qiuZxiao(int arr[],int num)
{
    int min = arr[0];
   for(int i = 0;i < num;i++)
{
    if(min > arr)
{
    min = arr;
}

}
return min;
}




//减去最高分和最低分后计算平均分
printf("减去最高分和最低分后计算平均分为%d",(lj - max - min ) / (num - 2));

作者: 赵安庆    时间: 2016-5-8 00:54
66666666666666
作者: zxc54321    时间: 2016-5-8 10:05

作者: TGII    时间: 2016-5-8 21:03
都很厉害呀




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2