如题所述
你好,我们这里需要用到数组镶套使用for函数以及冒泡算法,具体的代码如下。
#include <iostream>
using namespace std;
int main()
{
int s [10], i, j, t;
cout << "输入10个数:";
for (i = 0; i < 10; i++)
{
cout << "请输入第" << i+1 << "名学生的成绩;" << endl;
cin >> s[i];
}
for (i = 0; i<10; i++)
{
for (j = 0; j<9 - i; j++)
if (s[j]<s[j + 1])
{
t = s[j + 1];
s[j + 1] = s[j];
s[j] = t;
}
}
cout << "成绩由高到低为;";
for (i = 0; i<10; i++)
cout << s[i]<<"\t" ;
}
以下为效果图
这题可以利用
题目不难
#include <>
#define SIZE 11
void bubble_sort(int a[], int n);
void bubble_sort(int a[], int n)
{ int i, j, temp;
for (j = 0; j < n - 1; j++)
for (i = 0; i < n - 1 - j; i++)
{ if(a[i] < a[i + 1])
{ temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
}
int main()
{ int number[SIZE] = {0};
int i;
for(i=0;i<10;i++)
scanf("%d",&number[i]);
bubble_sort(number, SIZE);
for (i = 0; i < SIZE; i++)
{ printf("%d\n", number[i]); }
return 0;
}
运行过程
除了冒泡排序法,还有选择排序法,,还请题主在大学好好学习哦
int main()
{
int a[10],i,j,t,k;
printf("请以次输入10个学生的成绩:");
for(i=0;i<10;i++)scanf("%d",&a[i]);
for(i=0;i<9;i++)
{
k=i;
for(j=i;j<10;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;i<10;i++)
printf("%d\n",a[i]);
return 0;
}本回答被网友采纳