你好,我們這里需要用到數(shù)組鑲套使用for函數(shù)以及冒泡算法,具體的代碼如下。
創(chuàng)新互聯(lián)專注于侯馬企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站開發(fā)。侯馬網(wǎng)站建設(shè)公司,為侯馬等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站制作,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
#include iostream
using namespace std;
int main()
{
int s [10], i, j, t;
cout "輸入10個數(shù):";
for (i = 0; i 10; i++)
{
cout "請輸入第" i+1 "名學(xué)生的成績;" endl;
cin s[i];
}
for (i = 0; i10; i++)
{
for (j = 0; j9 - i; j++)
if (s[j]s[j + 1])
{
t = s[j + 1];
s[j + 1] = s[j];
s[j] = t;
}
}
cout "成績由高到低為;";
for (i = 0; i10; i++)
cout s[i]"\t" ;
}
以下為效果圖
#include stdlib.h
int cmp(const void *a, const void *b)
{
student *x=(student*)a;
student *y=(student*)b;
if(x-score[0] y-score[0])//升序排序(從小到大) 如果改成,就是降序排序(從大到小)
return 1;
return 0;
}
//上面函數(shù)放在struct student下面,需要該結(jié)構(gòu)
//排序方式可以靈活調(diào)整,上面我只是用第一門分?jǐn)?shù)進(jìn)行比較
//你也可以用其它分?jǐn)?shù)進(jìn)行比較,多寫2個函數(shù)就行,如int cmp2(const void*a,const void*b)等等。
//排序函數(shù)
qsort(stu,STU_NUM,sizeof(stu[0]),cmp);
//stu是數(shù)組名,STU_NUM是數(shù)組元素個數(shù),cmp就排序方式(可以替換為cmp2等等)
#includestdio.h
int main()
{
int a[10],i,j,t,k;
printf("請以次輸入10個學(xué)生的成績:");
for(i=0;i10;i++)scanf("%d",a[i]);
for(i=0;i9;i++)
{
k=i;
for(j=i;j10;j++)
if(a[j]a[k])k=j;
if(i!=k)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
printf("由高到低排序輸出成績:\n");
for(i=0;i10;i++)
printf("%d\n",a[i]);
return 0;
}