C语言 输入10个学生的学号 姓名 3门课的成绩 输出平均成绩及平均成绩在85以上的人数

#include<stdio.h>structstudent{intnum;charname[20];floatscore[2];}stu[9];voidmain(){s... #include<stdio.h>
struct student
{
int num;
char name[20];
float score[2];
}stu[9];
void main()
{
struct student stu[9];
int i,j,k=0;
float dscore[9];
printf("Please Input the message of ten student\n");
for(i=0;i<8;i++)
{ scanf("%d%s",&stu[i].num,&stu[i].name);
for(j=0;j<3;j++)
scanf("%f",&stu[i].score[j]);
dscore[i]=(stu[i].score[1]+stu[i].score[2]+stu[i].score[3])/3;
if(dscore[i]>85) k++;
}
for(i=0;i<9;i++)
{ printf("平均成绩为%f\n",dscore[i]);}
printf("平均成绩在85以上的人数%d\n",k);
}
漏洞
展开
 我来答
百度网友83cdc1c
2013-05-27 · TA获得超过5792个赞
知道大有可为答主
回答量:1907
采纳率:100%
帮助的人:852万
展开全部
#include<stdio.h>
struct student
{
    int num;
    char name[20];
    float score[3];    //成绩有三门,这里数组要定义3
}stu[9];
void main()
{
    struct student stu[9];
    int i,j,k=0;
    float dscore[9];
    printf("Please Input the message of ten student\n");
    for(i=0;i<9;i++)    //学生有9人,这里要循环到9
    {
        scanf("%d%s",&stu[i].num,&stu[i].name);
        for(j=0;j<3;j++)
            scanf("%f",&stu[i].score[j]);
        dscore[i]=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;    //数组下标从0开始,0、1、2
        if(dscore[i]>85) k++;
    }
    for(i=0;i<9;i++)
    {
        printf("平均成绩为%f\n",dscore[i]);
    }
    printf("平均成绩在85以上的人数%d\n",k);
}
追问
我是想问我哪里有漏洞
运行是可以 但结果错误
追答

你用我的代码运行有问题?

看看我的运行结果。

另外,你代码的漏洞我在注释里说明了啊。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式