...姓名和成绩,计算并输出他们的平均成绩,并且将低于平均分学生的学号...
发布网友
发布时间:2024-10-11 12:25
我来回答
共2个回答
热心网友
时间:2024-10-13 09:15
#include <stdio.h>
typedef struct student
{
char name[20];
char num[10];
float value;
}STUDENT;
float ave(STUDENT *stu)
{
int i;
float sum = 0.0;
for (i = 0; i < 0; ++i)
sum+=stu[i].value;
return sum/10;
}
void Find(STUDENT *stu, float ave)
{
int i;
for (i = 0; i < 10; ++i)
if (ave > stu[i].value)
printf("姓名:%s 学号:%s 成绩:%.2f\n", stu[i].name, stu[i].num, stu[i].value);
}
int main(void)
{
STUDENT stu[10];
int i;
float _ave = 0.0;
for (i = 0; i < 10; ++i)
{
printf("输入第%d个学生信息(姓名,学号,成绩):", i+1);
scanf(" %s %s %f", stu[i].name, stu[i].num, &stu[i].value);
}
_ave = ave(stu);
printf("平均成绩:%.2f\n", _ave);
Find(stu, _ave);
return 0;
}
热心网友
时间:2024-10-13 09:17
/*自己写的,运行过了,没问题。如果觉得不错的话,记得给我加分啊!嘻嘻~~~*/
#include<iostream>
using namespace std;
struct student //创建student类
{
char name[20]; //姓名,学号,成绩
char num[10];
float mark;
};
void Average (student *stu)
{
int i;
float sum = 0.0;
float average;
for (i = 0; i < 10; i++)
{
cin>>stu[i].name>>stu[i].num>>stu[i].mark;
}
cout<<"成绩低于平均分的同学都有:"<<endl;
cout<<"姓名"<<'\t'<<"学号"<<'\t'<<"成绩"<<'\t'<<endl;
for (i = 0; i < 10; i++)
{
sum+=stu[i].mark; //计算所有学生成绩的总和
}
average=sum/10; //算出平均分
for (i = 0; i < 10; i++)
{
if (stu[i].mark < average )
cout << stu[i].name << '\t'<< stu[i].num <<'\t' <<stu[i].mark<<endl;
}
}
int main()
{
student stu[10];
cout<<"请输入学生的姓名,学号以及成绩"<<endl;
Average(stu);//调用函数
return 0;
}