求高于平均分的学生学号和平均成绩
Ⅰ C语言:设有某班级35名学生的一门课程考试成绩,编写程序求超出平均分的学生(包括学号和成绩),并将
#include<stdio.h>
voidmain()
{
floata[35],s=0,aver,t;
inti,j;
for(i=0;i<35;i++)
{
printf("请输入学号为%d学生的成绩: ",i+1);
scanf("%f",&a[i]);
s=s+a[i];
}
aver=s/35.0;
printf("平均分为%f. ",aver);
for(i=0;i<35;i++)
if(a[i]>aver)
printf("超过内平均分学生学号为:%d;该学生的成绩为:%f. ",i+1,a[i]);
for(j=0;j<34;j++)
for(i=0;i<34-j;i++)
if(a[i]<a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("降序排的分数容为:");
for(i=0;i<35;i++)
printf("%f",a[i]);
}
Ⅱ 编写一个程序,输入N个学生的成绩,输出高于平均成绩的学生的学号和成绩,其中学号和
这个是我以前无聊的时候编的,虽然和你的题目有点不一样,但是基本的功能都有,你拿去参考一下吧!
由于编的时候还没有学结构体,所以这里没有使用结构体……
#define N 6
/*共有6个同学,在这里根据实际学生人数修改学生数*/
#define M 4
/*有3门课*/
main()
{int score[N][M],i,j,sum[N]={0};
float average[M],sum1,sum2=0.0;
for(i=0;i<N;i++)
score[i][0]=i+1; /*编学号*/
for(j=0;j<N;j++)
{printf("Please input num %d's score!\n",j+1);
for(i=1;i<M;i++)
scanf("%d",&score[j][i]); /*根据学号分别输入各位学生各科的成绩 */
}
for(i=0;i<N;i++)
for(j=1;j<M;j++)
sum[i]+=score[i][j]; /*求每个人的成绩总分*/
for(i=1;i<M;i++)
{sum1=0.0;
for(j=0;j<N;j++)
{sum1+=score[j][i];
sum2+=sum[j];
}
average[i-1]=sum1/N;
average[M-1]=sum2/N/(M-1); /*求每门课及总分的平均分 */
}
printf("Num\tChinese\tEnglish\tMaths\tSum\n");
for(i=0;i<N;i++)
{for(j=0;j<M;j++)
printf("%d\t",score[i][j]);
printf("%d\n",sum[i]);
}
printf("\n");
printf("Average:");
for(i=0;i<M;i++)
printf("%.3f\t",average[i]);
getch();
}
Ⅲ 通过键盘输入20个学生的学号和考试成绩,显示出所有高于平均分的学生的学号和成绩
#include<stdio.h>
structStudent{
charnum[24];
intfenshu;
};
voidmain()
{
inti,sum=0;
Studentstu[20];
for(i=0;i<20;i++)
{
printf("请输入抄第袭%d个学生的学号:",i+1);
scanf("%s",stu[i].num);
printf("请输入第%d个学生的成绩:",i+1);
scanf("%d",&stu[i].fenshu);
sum+=stu[i].fenshu;//求总分
}
printf("高于平均分的学生信息: ");
for(i=0;i<20;i++)
{
if(stu[i].fenshu>sum/20.0)
{
printf("学号:%s,成绩:%d ",stu[i].num,stu[i].fenshu);
}
}
}
Ⅳ 求解: sql 数据库 检索各科成绩均大于等于该科平均成绩的学生的学号和姓名
CREATE TABLE #学生表(
学生号 INT,
姓名 VARCHAR(10),
性别 VARCHAR(2),
年龄 INT
);
CREATE TABLE #课程表 (
课程号 INT,
课程名 VARCHAR(10)
);
CREATE TABLE #成绩表(
学生号 INT,
课程号 INT,
成绩 INT
);
INSERT INTO #学生表
SELECT 1, '张三', '男', 16 UNION ALL
SELECT 2, '李四', '男', 17 UNION ALL
SELECT 3, '王五', '女', 16 UNION ALL
SELECT 4, '赵六', '女', 17 UNION ALL
SELECT 5, '田七', '女', 18
;
INSERT INTO #课程表
SELECT 1, '语文' UNION ALL
SELECT 2, '数学' UNION ALL
SELECT 3, '外语'
;
-- 张三全部 超过平均。
-- 李四全部 低于平均。
-- 王五 赵六 部分高于,部分低于
-- 田七 少考一门,其它超过平均
INSERT INTO #成绩表
SELECT 1, 1, 85 UNION ALL
SELECT 1, 2, 85 UNION ALL
SELECT 1, 3, 85 UNION ALL
SELECT 2, 1, 75 UNION ALL
SELECT 2, 2, 75 UNION ALL
SELECT 2, 3, 75 UNION ALL
SELECT 3, 1, 85 UNION ALL
SELECT 3, 2, 75 UNION ALL
SELECT 3, 3, 85 UNION ALL
SELECT 4, 1, 75 UNION ALL
SELECT 4, 2, 85 UNION ALL
SELECT 4, 3, 75 UNION ALL
SELECT 5, 1, 83 UNION ALL
SELECT 5, 2, 83
;
SELECT
#学生表.学生号,
#学生表.姓名
FROM
#学生表
WHERE
NOT EXISTS(
SELECT
1
FROM
(
SELECT
课程号,
AVG(成绩) AS 平均成绩
FROM
#成绩表 a
GROUP BY
课程号
) AS 平均成绩表
LEFT JOIN #成绩表
ON (平均成绩表.课程号 = #成绩表.课程号
AND 平均成绩表.平均成绩 < #成绩表.成绩
AND #成绩表.学生号 = #学生表.学生号)
WHERE
学生号 IS NULL
);
学生号 姓名
----------- ----------
1 张三
(1 行受影响)
Ⅳ sql 嵌套查询选修"计算机文化学"且成绩高于此课程平均成绩的学生学号和成绩
由于不知道原题目,只能假设了,假设学号:No;成绩: score ;选修课程:kc; 从成绩表 sc中查询专
select No,score from sc where kc='计算机文化属学' and score >(
select avg(score) from sc where kc='计算机文化学')
将假设的字段和表名换成拟题目中的字段和表名
Ⅵ SQL查询计算机系平均成绩大于85分的学生的学号和平均成绩.(用派生查询)
select student.sdept,avg(sc.grade) from student,sc where student.sdept=sc.sdept group by student.sdept having avg(sc.grade)>85
Ⅶ 在 excel中如何找出各科成绩均高于80分的学生问题是:怎么才能把“学号”和“平均值”都筛选带进去
可以使用高级筛选。
1、以excel2010版本为例,如下图,要找出各科成绩均高于80分的学生;
Ⅷ 用C语言编写一个程序,输入N个学生的学号和成绩,求平均成绩,并输出其中最高分和最低分学生学号和成绩
#include<stdio.h>
#defineN5
structStu{
intid;
doublescore;
};
voidsortScore(Stus[N]){
inti;
intmin=0,max=0;
for(i=1;i<N;i++){
if(s[i].score>s[max].score)max=i;
if(s[i].score<s[min].score)min=i;
}
printf("%d%.2lf ",s[max].id,s[max].score);
printf("%d%.2lf ",s[min].id,s[min].score);
}
intmain(){
Stus[N];
inti;
doubleans=0;
for(i=0;i<N;i++){
scanf("%d%lf",&s[i].id,&s[i].score);
ans+=s[i].score;
}
printf("%.2lf ",ans/N);
sortScore(s);
}
Ⅸ SQL显示平均成绩高于85分的学生的学号和姓名
平均成绩 是科目平均成绩?
问题没描述清楚
Ⅹ 求助哈,数据sql命令,题目要求查询平均成绩大于85分的学号、姓名、平均成绩,这要怎么做呢,
SELECTSTUDENTS.SNO,SNAME,AVG(GRADE)
FROMSC,STUDENTS
WHERESC.SNO=STUDENTS.SNO
GROUPBYSTUDENTS.SNO,SNAME
HAVINGAVG(GRADE)>=85