C语言编程:任意输入5个学生成绩,对其进行排序,按照从小到大的顺序输出!

用冒泡编写。急!急!急!!

第1个回答  2011-11-15
#include <stdio.h>
#include <conio.h>

void fun(int a[], int n);

void main(void)
{
int a[5], i;

for (i=0; i<5; i++)
{
scanf("%d",&a[i]);
}
fun(a, 5);
}

void fun(int a[], int n)
{
int i, j, t;
for (i=0; i<n; i++)
{
for (j=0; j<n-i-1; j++)
{
if (a[j] > a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
for (i=0; i<n; i++)
{
printf("%d ", a[i]);
}

printf("\n");
}本回答被提问者采纳
第2个回答  2011-11-15
int main(int argc, char* argv[])
{
int grade[5];
int i = 0;
//输入成绩
for(i=0;i<5;i++)
cin>>grade[i];
//冒泡排序
int temp;
for (i=1;i<5;i++)
{
for (int j=0;j<5-i;j++)
{
if(grade[j]>grade[j+1])
{
temp=grade[j+1];
grade[j+1]=grade[j];
grade[j]=temp;
}
}
}
//输出成绩
for(i=0;i<5;i++)
cout<<grade[i]<<" ";

cout<<endl;
return 0;
}
第3个回答  2011-11-15
先定义一个int型数组,然后给数组赋值,在接下来用冒泡排序法就OK啦。