當前位置:首頁 » 考試成績 » matlab學生信息按成績排列

matlab學生信息按成績排列

發布時間: 2020-12-02 19:44:15

1. 使用matlab實現有關讀入學生成績的txt文件,要求可查詢任何學生的成績

使用txtread函數進行讀取數據
使用find或者==來查找學生的成績

祝你學習愉快!

2. 在 matlab中怎麼建立學生成績的結構數據

張三','李四','王五'李四後面的逗號是中文的,要改成英文的,我運行了下,就沒錯誤了

3. 用matlab編程求20個學生成績的最大分數,最小分數,前5名得分數,及平均分數

a=[%學生數據%]
%排序
a = sort(a);
%最低分
a(1)
%最高分
a(length(a))
%前五名成績
a([1 2 3 4 5])
%平均分
mean(a)

4. 急求!!!!!一個用MATLAB設計的學生成績管理系統程序(程序每句都需要加註釋)

就是單抄鏈表定義結構體STUDENT,可襲包括學生姓名,學號,各科成績,總分等信息,外加一個指向結構體類型的指針next,建立單鏈表,然後根據要求編寫一系列函數,例如刪除,插入,修改等,在主函數中調用用這種方法的好處就是在刪除、插入信息時比較方便,只需要改變next的指向就好,不需要移動,而如果用數組的話,在刪除插入時就要移動一堆的數據,編起來很麻煩啊~這個就是單鏈表的好處啊~

5. 用Matlab篩選數據,有一個學生成績的表格,有學生好幾次的成績,怎麼篩選出一個學生多次的成績

因為你沒有給具體的格式,所以只能籠統地說了。。。
首先需要用 xlsread 函數把excel數據讀入matlab,具體請查看 help。
然後,篩選數據,比如
a = [1 3 6 87 4 2 4 6 3 1 5 7 3 1 5 3 1 6 858 998 6 5 4 ];
b=a(a<5); % a中所有小於5的值
c=a(a>3); % a中所有大於3的值

6. matlab 學生成績管理系統

#include <iostream>
#define number 100
#define increasment 10
using namespace std;
int i;
bool found;
//結構體變數student.
struct student
{
char num[4];//學生的學號.
int score;//學生的分數.
};
//定義線性表變數.
typedef struct
{
student *elem;//線性表的首地址.
int length;
int listsize;
}sqlist;
//初始化此表.
void initlist(sqlist &L)
{
L.elem=(student*)malloc(number*sizeof(student));//分配存儲空間.
if(!L.elem)exit(0);
L.length=0;
L.listsize=number;
return;
}
//為次表添加數據.
void inputlist(sqlist &L)
{
int n;
cout<<"輸入你要存入學生信息的個數n:"<<endl;
cin>>n;
if(n>L.listsize)cout<<"空間不足.";//如輸入的個數大於表的初始長的報錯.
cout<<"這"<<n<<"明學生的具體的信息(學號(三位),成績)是:"<<endl;
cout<<"輸入範例:"<<endl<<"001 97"<<endl<<"002 95"<<endl<<"......"<<endl<<"學號 成績"<<endl;
for(i=0;i<n;i++)
{
buf:
cin>>L.elem[i].num>>L.elem[i].score;//輸入學生的學號和成績.
if(L.elem[i].score<0||L.elem[i].score>100)//判斷如果數據是否符合要求.
{
cout<<"輸入數據錯誤,請從新輸入"<<endl;
goto buf;
}
L.length++;
}
}
//輸出整個表.
void output(sqlist &L)
{
cout<<"學號 成績"<<endl;
for(i=0;i<L.length;i++)//輸出表中所有學生的信息.
cout<<L.elem[i].num<<" "<<L.elem[i].score<<endl;
cout<<"學生總個數為:"<<L.length<<endl;
return ;
}
//在表中的某個位置插入一個元素.
void insertlist(sqlist &L,int i,student &e)
{
student *q,*newbase;
if(i<1||i>L.length+1)//如果插入的位置超出范圍則報錯.
printf("插入的節點不存在./n");
if(L.length>=L.listsize)
{
newbase=(student*)realloc(L.elem,(number+increasment)*sizeof(student));//開辟內存.
if(!newbase)exit(0);
L.elem=newbase;
L.listsize+=increasment;
}
for(q=L.elem+L.length-1;q>=&(L.elem[i-1]);q--)//插入點數之後的數據進行後移.
*(q+1)=*q;
*(q+1)=e;//插入該點.
L.length++;//表長加1.
output(L);//輸出插入元素後所有學生的信息.
return ;
}
//刪除一個一個表中的某個元素.
void deletelist(sqlist &L,int i,student &e)
{
student *p;
if(i<1||i>L.length)//刪除的點超出范圍則報錯.
printf("刪除的節點不存在./n");
e=L.elem[i-1];
for(p=&(L.elem[i-1]);p<=L.elem+L.length-2;p++)//刪除點之後的元素進行前移.
*p=*(p+1);
L.length--;//表長減1.
output(L);//輸出刪除元素後所有學生的信息.
return ;
}
//合並兩個表.
void connect(sqlist &La,sqlist &Lb,sqlist Lc)
{
student *pa,*pb,*pc,*pa_last,*pb_last;
pa=La.elem;pb=Lb.elem;
Lc.listsize=Lc.length=La.length+Lb.length;
pc=Lc.elem=(student*)malloc(Lc.listsize*sizeof(student));//分配新內存.
if(!pc)exit(0);
pa_last=La.elem+La.length-1;
pb_last=Lb.elem+Lb.length-1;
while(pa<pa_last&&pb<pb_last)//將表La和表Lb中的元素進行比較後添加到表Lc中.
{
if((*pa).score<(*pb).score)*pc++=*pa++;
else*pc++=*pb++;
}
while(pa<=pa_last)*pc++=*pa++;//將還剩下的元素也添加到表Lc中去.
while(pb<=pb_last)*pc++=*pb++;
output(Lc);//輸出表Lc.
return ;
}
//定位某個元素是否在此線性表中.
bool location(sqlist &L,student &e)
{
found=false;
for(i=0;i<L.length&&!found;i++)//尋找元素是否在表中.
{
found=false;
for(int j=0;j<3;j++)
{
found=false;
if(e.num[j]==L.elem[i].num[j]&&e.score==L.elem[i].score)//存在則found賦值為true.
found=true;
}
}
return found;//返回一個bool型變數,來判斷是否找到元素.
}
int main()
{
int n;//作為選擇變數.
sqlist La,Lb,Lc;//定義三個表.
student e;//定義學生變數.
initlist(La);//初始化表La.
inputlist(La);//對表La進行賦值.
repeat:
cout<<"你可以對這些學生進行如下操作:"<<endl<<"1:插入元素;2:刪除元素;3:顯示所有信息;4:合並兩個表;5:查找某元素是否在表中."<<endl;
cin>>n;
switch(n)//選擇要進行的操作.
{
case 1:
{
cout<<"請輸入所插入元素在哪個元素前.";
cin>>i;
cout<<"請輸入所插入學生的具體信息,即學號(三位數字):";//輸入學生的學號.
cin>>e.num;
cout<<"請輸入成績(0-100):";//數入學生的成績.
cin>>e.score;
insertlist(La,i,e);break;//將上面的元素插入到表中去.
}
case 2:
{
cout<<"請輸入所要刪除的元素.";
cin>>i;
deletelist(La,i,e);break;//刪除表的此元素.
}
case 3:output(La);break;//輸出表.
case 4:
{
cout<<"請再建立一個表,從而能夠實現兩個表的合並."<<endl;
initlist(Lb);//初始化表Lb.
inputlist(Lb);//對表Lb進行賦值.
cout<<endl;
connect(La,Lb,Lc);break;//合並表La和Lb,並存到表Lc中.
}
case 5:
{
cout<<"請輸入所要查找學生的具體信息,即學號(三位數字):";//輸入學生的學號.
cin>>e.num;
cout<<"請輸入成績(0-100):";//數入學生的成績.
cin>>e.score;
if(location(La,e))//確定此元素是否存在.
cout<<"此學生在表中,基本信息是:"<<e.num<<" "<<e.score<<endl;
else
cout<<"此學生不在表中."<<endl;
break;
}
default:cout<<"error";break;//報錯.
}
cout<<"是否還進行其它操作,是請按1,否請按2."<<endl;
cin>>i;
if(i==1)//判斷是否還進行其它的操作.
goto repeat;//是在跳到repeat出.
return 0;
}

7. 請數學matlab高手回答1.已知某班的5名學生的三門課成績列表如下:

>> f(english,1,5)

max =

83

b =

1 1
>> f(english,1,5)

max =

83

b =

1 1
>> f(english,1,5)

max =

83

b =

1 1
function f=f(X,m,n)
max=X(1,1);b=[1 1];
for i=1:m
for j=1:n
if max<X(i,j)
max=X(i,j);
b=[i j];
end
end
end
max
b
(以上是f.m文件,要保存的哦~)
>> math=[78 89 64 73 68];
>> english=[83 77 80 78 70];
>> matlab=[82 91 78 82 68];
>> f(math,1,5)

max =

89

b =

1 2 %這是數學成績的最高分89,學號為2
>> f(matlab,1,5)

max =

91

b =

1 2 %matlab成績最高分為91,學號為2

8. matlab學生成績問題

你的描來述好像有些問題:
1、你好像自只說了50%的學生,還有50%是怎麼回事?
2、按照比較好的形態,成績一般應該按照均值為75-80左右,接近正態分布為好,而你的要求則是60-69之間居多;
3、各分數區間的比例應該和原始成績的分布有關,而不應該嚴格限定各區間的比例(換言之,比如90-100分的佔10%,應該是期望比例);

如果按照你現在的要求,其實很容易處理:
1、首先把成績排序;
2、按照順序,依次取出相應比例的人數,把成績換算到相應的區間。
這樣的程序編起來不難,但如上面所說,方法不合理,而且你現在的描述也有問題,所以暫時就不編了。

9. 用matlab解決:給50個學生成績要求統計間隔10分分數段的學生人數和占總學生的百分比,並畫出曲線圖

data=[85 88 67 87 76 87 79 75 85 80
78 64 74 80 67 90 54 86 75 64
95 86 82 64 86 86 93 56 68 89
67 76 78 95 90 75 79 80 92 45
87 85 83 83 79 60 91 78 65 85 ];
data=data(:); %所有數據轉成一列的數據
x=0:10:100; %分數區間

y=hist(data,x) %各區間人數
yy=y/length(data);%各區間人數占學生的百分比回
bar(x,yy)
xlabel('分數')
ylabel('百分比')

這個函數也是有答一點問題的

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919