c++输入10个学生的学号、姓名和成绩,计算并输出他们的平均成绩,并且将低于平均分学生的学号、姓名和成绩

要求:建立学生的结构记录,包括学号、姓名和成绩,最好原创,谢谢

#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;
}追问

输出平均成绩是0.、、、、

追答

for (i = 0; i < 0; ++i)写错了 for (i = 0; i < 10; ++i)

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-07
/*自己写的,运行过了,没问题。如果觉得不错的话,记得给我加分啊!嘻嘻~~~*/
#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;
}

c++输入10个学生的学号、姓名和成绩,计算并输出他们的平均成绩,并且将...
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...

从键盘上输入10个学生的成绩,计算出平均成绩,并输出低于平均分的学生成...
void main(){ float a[10];float sum=0;printf("请输入10个学生的成绩:\\n");for(int i=0;i<10;i++){ scanf("%f",&a[i]);sum+=a[i];} printf("不过平均线得的学生成绩为:");for(int j=0;j<10;j++){ if(a[j]<sum\/10)printf("%3.2f",a[j]);} } ...

C语言编程任意输入10个学生的1门课的成绩,编程计算并打印总分和平均分...
C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。C语言:编写程序,输入10个学生的成绩数据,计算并输出平均分及低于平均分的学生的人数。&s[i]);sum+=s[i];if(s[i]=60)j++;}printf(总分:%d大于等于60的人数:%d\\n,sum,j);retu...

编程实现:从键盘输入10个学生的成绩,计算出平均分,并输出低于平均分的学...
{ printf("请输入的学生的成绩:");scanf("%f",&students[i]);sum=sum+students[i];} average=sum\/10;for(i=0;i<10;i++)if (students[i]<average)printf("这几个同学低于平均分的成绩为为:%f\\n",students[i]);printf("平均成绩为:%.2f\\n",average);return 0;} ...

c语言:输入10个学生的成绩,求学生的平均成绩,并输出低于分均分的所有...
double score[N];double average, sum = 0.0;int i;\/\/输入学生成绩 for (i = 0; i < N; i++){ printf ("\\ninput %d: ", i + 1);scanf ("%lf", &score[i]);} for (i = 0; i < N; i++){ sum += score[i];} average = sum \/ N;\/\/学生的平均成绩 \/\/输出...

C语言:编写程序,输入10个学生的成绩数据,计算并输出平均分及低于平均分...
include<stdio.h> int main(){ int i;float a[10],min,max,avg;\/\/max表示最高分,min表示最低分,avg表示平均分 printf("请输入10位学生的分数\\n");printf("***\\n");for(i=0;i<=9;i++){ printf("请输入一位学生的分数:");scanf("%f",&a);} max=min=avg=a[0];for(i=...

c# 用数组的方法,输入十个学生成绩求的平均分并且统计 高于平均分人 ...
for (int i = 0; i < stuScore.Length; i++){ if (stuScore[i] >= avg){ max++;} else { min++;} } Console.WriteLine("学生的平均成绩为{0}分,高于平均成绩的有{1}人,低于平均成绩的有{2}人。",avg,max,min);把和平均分相等规划到高于平均分里面了,应该能看的明白。

计算某班10位学生的平均成绩 C++
cout << "max=" << max<<endl; \/\/输出最高分 cout << "min=" << min<<endl; \/\/输出最低分 } 结果如下:请输入学生的个数:5 第1个学生的分数:10 第2个学生的分数:20 第3个学生的分数:30 第4个学生的分数:40 第5个学生的分数:50 average=30 max=50 min=10 ...

编写程序 从键盘上输入10个学生的某门课的成绩,计算出平均成绩,并输出...
a[],int n){int i,x,s=0; for(i=0;i<n;i++) {scanf("%d",&a[i]); s+=a[i]; } return (float)s\/n;}int main(){int i,n=0,a[10]; float cj; printf("请输入10个学生的成绩:\\n"); cj=av(a,10); printf("平均分=%.1f\\n",cj); printf("不及格的成绩为...

...学生信息包括:学号,姓名,成绩),计算并输出平均分,再按高分到低分...
为什么输出的结果会变成这样:104 ddd 60 106 fff 60 103 ccc 70 105 eee 80 102 bbb 90 101 aaa 80 107 ggg 78 108 hhh 80 109 iii 68 110 jjj 80

相似回答