C语言编程C语言编程

某班的数学考试成绩如下:90.78.98.67.53.97.78.100.76.88,编程计算并输出该班的总人数、最高分、最低分和平均分

根据这个字符串,通过.分割,得到相应的数字和个数

运行结果:

img

代码:

#include <stdio.h>
int main()
{
    char str[] = "90.78.98.67.53.97.78.100.76.88";
    int a[100], i=0, n = 0;
    int t = 0;
    int max, min;
    float ave = 0;
    while (str[i] != '\0')
    {
        if (str[i] >= '0' && str[i] <= '9')
            t = t * 10 + (str[i] - '0');
        else
        {
            a[n] = t;
            n++;
            t = 0;
        }
        i++;
    }
    if (t > 0)
        a[n++] = t;
    printf("总人数:%d\n",n);
    max = min = a[0];
    for (i = 0; i < n; i++)
    {
        ave += a[i];
        if (a[i] > max) max = a[i];
        if (a[i] < min) min = a[i];
    }
    printf("最高分:%d\n", max);
    printf("最低分:%d\n", min);
    printf("平均分:%.2f\n", ave / n); //保留2位小数
    return 0;
}

#include <stdio.h>
int main(){
    int num=0;
    int max,min;
    float sum=0, avg;
    int score[20] = {90,78,98,67,53,97,78,100,76,88};
    for (int i=0;i<20;i++){
        if(score[i]!=0){
            num += 1;
        }
    }
    printf("总人数为%d\n",num);
    max=score[0],min=score[0];
    for (int i=0;i<num;i++){
        sum+=score[i];
        if(max<score[i]){
            max = score[i];
        }
        if(min>score[i]){
            min = score[i];
        }
    }
    avg = sum/num;
    printf("最高分为:%d,最低分为:%d,平均分为:%.2f\n",max,min,avg);
}

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632