以下程式哪兒錯了 就是輸入學號和成績然後排序

2025-05-06 17:55:08 字數 1743 閱讀 9531

1樓:網友

for(i=0;i<5;i++)

scanf("%d",&a[5]);

for(j=0;j<5;j++)

scanf("%d",&b[5]);

剛看著兩段就有錯拆仿誤了,不說你的for迴圈有沒扮中有意義&a[5],&b[5],根本不旅缺纖存在,i,j最大隻有4,把&a[5],&b[5]改為&a[i],&b[j]

2樓:網友

for(i=0;i<5;i++)

if(a[i]t=a[i];a[i]=a[i+1];a[i+1]=t;

m=b[i];b[i]=b[i+1];b[i+1]=m;}這一段,你已經把原有拆渣裂陣列排序破壞了,這個迴圈還有什麼意義呢。

最簡單的辦法,旅閉梁塵你把這段迴圈5次(典型的冒泡法)for(j=0;j<5;j++)

for(i=0;i<5;i++)

if(a[i]t=a[i];a[i]=a[i+1];a[i+1]=t;

m=b[i];b[i]=b[i+1];b[i+1]=m;}

編寫乙個程式,輸入每個學生的學號和平均成績,將平均成績按遞減順序排列,輸出排序後的學號和平均成績

3樓:網友

讓別人做程式還給這麼少的分` `

編乙個c++程式,輸入五個學生的學號、姓名、5門課的成績,按平均分的高低排序輸出

4樓:網友

有10個學生,每個學生的資料包括:學號、姓名、三門課的成績。寫程式,要求scanf("%s",a[i].

name); printf("請分別輸入十行成績(每行五列)\,zyfaph

5樓:網友

#include

using namespace std;

struct stu;

stu student[5];

void main()

double temp;

for(int b=0;b<5;b++)

for(int k=0;k<5;k++)你的很亂,我幫你分析下:

結構體,五個成績的定義不是那樣,你那樣就是乙個學生的一門成績有五個了,只有名字用陣列,還有,結構體定義了成員,主函式就不須定義了。有個經驗之談,有實型數十最好用double,因為float沒他精確。還有迴圈多了乙個,輸出了五次。

還有問題發郵件問我,

編一程式,輸入10個學生的學號,姓名,總分,然後按總分排序後給出

6樓:網友

指標沒學好 看不懂。。。

輸入n個學生的學號及其5門單科成績,然後按總分從高到低排序後輸出。

7樓:網友

用sum函式求和,然後複製,貼上數值,再排序就行了。

求c語言程式,輸入乙個班50名學生成績,從高到低排序輸出每名學生成績和學號,還有別的要求

8樓:我若在床邊

樓上提供**,我提供思路。

思路1:最簡單的二維陣列,int sutdent[n][50];

第一排儲存學生id,隨後幾排儲存成績;一一對應,思路2:定義結構體。

struct studentstudent[50];//50個學生思路3:建立連結串列。

typedef struct studentlinknode,*linklist;

請問下面程式哪兒出錯了

float integral float,float,float fun float 主要是這個,你的最後一個形參是float fun float 這個指向函式的指標,那麼你傳的時候應該是傳一個函式的指標,那麼你下面的應用時,應先定義一個函式指標,float fun float 然後把fun f1,...

這個程式為什麼輸入數字就是正常的,但輸入字元就會陷入死迴圈!望高手指點

建議用rewind或做如下改,已測試通過 c語言中fflush stdin 作用 include include int menu select int main the end return 0 int menu select 在scanf d cn 的後面加上fflush stdin 來清空輸入...

若執行以下程式時,從鍵盤輸入Total回車,則下面程式的

應該是c吧,由於case條件沒有break跳出迴圈,因此當輸入與case不符時,總會跳到default語句執行。選d特別要注意的兩點 每一個case後無break,所以會繼續執行後面的語句 do的內容執行的是6次,仔細看while的判斷條件可知 選d,這是do while型迴圈,當輸入回車是要再執行...