| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1614 人关注过本帖
标题:大佬看看哪错了
只看楼主 加入收藏
C菜鸟是我
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2020-3-26
结帖率:40%
收藏
已结贴  问题点数:4 回复次数:3 
大佬看看哪错了
1)编程完成输入4个学生的平时、实习、测验和期末成绩。
2)计算这4个学生的总评成绩。其中平时、实习、测验和期末分别占10%、20%、20%、50%。
3)找到总评成绩最高的学生。
4)输出总评成绩最高的学生的成绩信息(平时、实习、测验、期末成绩和总评成绩)。
#include<stdio.h>
struct  Student
{
   float a;
    float b;
    float c;
    float d;
    float average;
}      
int max(int a[4])
{
    int i,t,m=a[0],max=0;
    for (i = 0; i < 4; i++)
    {     if (m < a[i])
        {    a[i] = t;
            a[i] = m;
            m = t;
            max = i;
        }
    }
    return max;
}
int main()
{    int sum[4];
    int m,n,i;
    struct  stu[4];  
    printf("请输入4个学生的平时、实习、测验、期末\n");
    for (i = 0; i < 4; i++)
    {    scanf("%f%f%f%f", stu[i].a, stu[i].b, stu[i].c, stu[i].d);   
        sum[i] = stu[i].average = stu[i].a*0.1 + stu[i].b*0.2 + stu[i].c*0.2 + stu[i].d*0.3;
    }
    m = max(sum);
    n = m+1;
    printf("成绩最高的第%d个学生\n平时成绩为%f\n实习成绩为%f\n测验成绩为%f\n期末成绩为%f\n总评成绩为%f\n", n, stu[m].a, stu[m].b, stu[m].c, stu[m].d, stu[m].average);
    return 0;
}
搜索更多相关主题的帖子: int 成绩 学生 max stu 
2020-06-02 16:59
fulltimelink
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:171
专家分:752
注 册:2020-4-1
收藏
得分:4 
struct 定义需要分号结束
临时存储数组的值是  t=a[i] 不是a[i]=t
scanf需要变量的地址
程序代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct  Student
{
    float a;
    float b;
    float c;
    float d;
    float average;
};
int max(int a[4])
{
    int i, t, m = a[0], max = 0;
    for (i = 0; i < 4; i++)
    {
        if (m < a[i])
        {
            t= a[i];
            a[i] = m;
            m = t;
            max = i;
        }
    }
    return max;
}
int main()
{
    int sum[4];
    int m, n, i;
    struct Student stu[4];
    printf("请输入4个学生的平时、实习、测验、期末\n");
    for (i = 0; i < 4; i++)
    {
        scanf("%f%f%f%f", &stu[i].a, &stu[i].b, &stu[i].c, &stu[i].d);
        sum[i] = stu[i].average = stu[i].a*0.1 + stu[i].b*0.2 + stu[i].c*0.2 + stu[i].d*0.3;
    }
    m = max(sum);
    n = m + 1;
    printf("成绩最高的第%d个学生\n平时成绩为%f\n实习成绩为%f\n测验成绩为%f\n期末成绩为%f\n总评成绩为%f\n", n, stu[m].a, stu[m].b, stu[m].c, stu[m].d, stu[m].average);
    return 0;
}
2020-06-02 17:30
C菜鸟是我
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2020-3-26
收藏
得分:0 
谢谢,解决了
2020-06-02 17:51
qq2381689282
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-6-3
收藏
得分:0 
好好学习,天天向上!
2020-06-03 16:39
快速回复:大佬看看哪错了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015358 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved