猿问

一个简单的C语言程序

#include <stdio.h>

int main()

{

    int i, n;

    printf("学生人数n:");

    scanf("%d",&n);

    int max,min,sum;

    double avg;

    int a[n];

    printf("输入N个学生的成绩");

for(i=0;i<n;i++){

scanf("%d",&a[i]);

  printf("输入数据结束");

max=a[0];

min=a[0];

sum=a[0];

for(i=1;i<n;i++){

sum+=sum;

if(a[i]>max)

max=a[i];

else

min=a[i];

  avg=(double)sum/n;

printf("平均成绩为%d:\n",avg);

printf("最高分%d:\n",max);

printf("最低分%d:\n",min);

    return 0;

}

请问如何让  avg输出的数精确到小数点后一位。比如输入两个数据 4,5.  则avg是4.5。

qq_任性的鸟儿不会飞_03142556
浏览 1702回答 2
2回答

慕移动6052691

#include <stdio.h>int main(){ int i, n; float max,min,sum; float avg; printf("学生人数:"); scanf("%d",&n); float * score = new float[n]; printf("输入N个学生的成绩\n"); for(i=0;i<n;i++){ printf("请输入第%d个学生成绩\n",i+1); scanf("%f",&score[i]); }  max=score[0]; min=score[0]; sum=score[0]; for(i=1;i<n;i++){ sum+=score[i]; if(score[i]>max) max=score[i]; else min=score[i]; }  avg=sum/n; printf("平均成绩为%.1f:\n",avg); printf("最高分%d:\n",static_cast<int>(max)); printf("最低分%d:\n",static_cast<int>(min)); delete[] score; getchar(); return 0;

qq_任性的鸟儿不会飞_03142556

#include <stdio.h>int main(){    int i, n;    printf("学生人数n:");    scanf("%d",&n);    int avg,max,min,sum;    int a[n];    printf("输入N个学生的成绩"); for(i=0;i<n;i++){ scanf("%d",&a[i]); }   printf("输入数据结束"); max=a[0]; min=a[0]; sum=a[0]; for(i=1;i<n;i++){ sum+=sum; if(a[i]>max) max=a[i]; else min=a[i]; }   avg=sum/n; printf("平均成绩为%d:\n",avg); printf("最高分%d:\n",max); printf("最低分%d:\n",min);    return 0;}上面那个是我自己改了之后还不行的,这个才是原来的。
随时随地看视频慕课网APP
我要回答