學生課程成績
㈠ 輸入6個學生,3門課程的成績,統計每個學生的總成績,並將此表按總成績由高到低排序。
1、電腦打開Excel表格,把六個學生的成績數據給輸入表格中。
㈡ SQL查詢,學生表,課程表,成績表的一個查詢要求如下怎麼寫呢
selects.sid,s.sname,sc.scorefromstudent,course,scwherestudent.sid=sc.sidandcourse.cid=sc.cidandcourse.cname='影視設計';
注意一下,你自己寫的sid和sname中間沒有逗號,到時候一定執行報錯
㈢ mysql查詢出01課程成績大於02課程成績的學生編號
你的平均成績是每門課程的平均成績?還是每個人的平均成績?
前者要用課程分組,後者要用學號分組,這個是不同的。你要的是哪個?
每門課程中,也就是要用到課程分組。
select a.學號,a.成績 from 學期成績表 a,(select 課程編號,avg(成績) avg_成績 from 學期成績表 group by 課程編號) b where b.課程編號=a.課程編號 and a.成績<b.avg_成績
因為你只要查學號和成績,所以和學生表沒有關系,學期成績表中就有學號。
㈣ sql查詢語句的問題,「列出成績大於90的所有學生的姓名、專業、課程名稱、成績」這條語句怎麼寫
可以參考下面的代碼:
select s.姓名, s.專業, sc.成績, c.課程名稱
from 學生基本情況表 s, 成績表 sc, 課程表 c
where s.學號 = sc.學號 and c.課程編號 = sc.課程編號
and sc.成績 > 90
(4)學生課程成績擴展閱讀:
sql語句
刪除列:
Alter table table_name drop column column_name--從表中刪除一列
添加主鍵:
Alter table tabname add primary key(col)
平均:
select avg(field1) as avgvalue from table1
最大:
select max(field1) as maxvalue from table1
㈤ 查詢出01課程成績大於02課程成績的學生編號
select a.sid, a.score as score1,b.score as score2 from (select * from scoretable where cid='001') a
left join
(select * from scoretable where cid='002')b
on a.sid=b.sid
where a.score>b.score
㈥ C語言:統計出輸入若干個學生課程成績(在[0,150]之間整數),求共輸入幾個學生成績以及它們的平均分
|#include<stdio.h>
#include<malloc.h>
typedefstructstu
{
floatscore;
structstu*next;
}STU;
intmain()
{
floatscoreMin=150,score=0,scoreAve,sum=0;
intcount=0;
STU*stuHead=(STU*)malloc(sizeof(STU));
stuHead->next=NULL;
STU*stuTai=NULL,*stuNew=NULL;
while(1)
{
scanf("%f",&score);
if(score<0||score>150)
break;
stuNew=(STU*)malloc(sizeof(STU));
stuNew->next=NULL;
stuNew->score=score;
if(score<scoreMin)
scoreMin=score;
if(stuHead->next==NULL)
stuHead->next=stuNew;
else
stuTai->next=stuNew;
stuTai=stuNew;
count++;
sum=sum+score;
}
scoreAve=sum/count;
printf("共%d名學生,平均分%.2f,最低分%.2f
",count,scoreAve,scoreMin);
}
㈦ 關於「查詢某學生所有課程成績「的正確SQL語句(多項選擇題)
B和C是正確的
A和D的錯誤都是顯而易見,所查詢的表沒有相關欄位
㈧ N個學生各學4門課,查找一門以上課程不及格學生,輸出其各門課成績。(請使用指針函數實現)
#include<stdio.h>
#define M 4/*可以修改*/
#define N 4/*可以修改,這里表示4個學生,三門成績*/
int main()
{
void search(double (*p)[N]);
double stu[M][N];
printf("請輸入%d個學生的%d門成績:\n",M,N);
for(int i=0;i<M;i++)
for(int j=0;j<N;j++)
scanf("%lf",&stu[i][j]);
search(stu);
return 0;
}
void search(double (*p)[N])/*第一個參數表示p是一個指向有N個double型變數的指針數組的指針變數*/
{
for(int j=0;j<M;j++)//循環M 次,對M個學生的成績進行檢查,發現不及格的即輸出
{
int i;
int flag=0;
for(i=0;i<N;i++)//循環N次,對第j個學生的N門課成績進行檢查,發現有不及格的科目,將flag置1。表示第j個學生不及格
if(*(*(p+j)+i)<60)
{
flag=1;
break;
}
if(flag)//如果flag==1表示這個學生不及格,輸出其成績
{
printf("No.%d不及格,其各門成績:\n",j+1);
for(i=0;i<N;i++)
printf("%5.1f",*(*(p+j)+i));
printf("\n");
}
}
return;
}
㈨ C語言,代碼實現。已知學生課程數為N,最低成績為A,平均成績為P,求每門成績可能的分數。
#include "stdio.h"
int solve(int n, double sum, double min)
{
// n表示課程數,sum表示總分,min表示最低分
int ret = 0;
double max; // 可能的最高分
int i = min;
if (n == 1)
{
return 1;
}
max = sum - (n-1)*min;
for (; i<=max; i++)
{
ret += solve(n-1,sum-i,min);
}
return ret;
}
int main()
{
int num; // 科目
double ave; // 平均分
double min; // 最低分
double sum;
scanf("%d",&num);
scanf("%lf",&ave);
scanf("%lf",&min);
sum = num*ave;
printf("%d",solve(num,sum,min));
return 0;
}
可直接運行,望採納!