C语言,输出n个学生成绩,并把输出的成绩从大到小排序,求代码......
这个书上有吧。。。。。
代码还是要自己写。不要这样
就用if语句就行了,把学生成绩定为数组,然后从第一个开始与下一个比较,如果前面的小于后面的就交换,就是冒泡法排序。
//依次输入10个学生的成绩
#include "stdio.h"
void main() { int i,j; float a[11],t;
for(i=0;i<10;i++) {
printf("第%d个学生的成绩:\n",i+1);
scanf("%f",&a[i]);
}
//用冒泡法排序,并且输出排序结果。
for(i=0;i for(j=0;j {
if(a[j] {
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
//这是输入插入的学生成绩,并且进行排序
for(i=0;i printf("%g ",a[i]);
printf("\n");
printf("插入学生的成绩:\n");
scanf("%f",&t);
if(t else if(t>a[0])
{
for(i=9;i>=0;i--)
a[i+1]=a[i];
a[0]=t;
}
else
{
for(i=9;i>=1;i--)
{
a[i+1]=a[i];
if(a[i]<=t && a[i-1]>=t) {
a[i]=t;
break;
}
}
}
//首先输出插入学生排序,在倒序输出学生成绩。
for(i=0;i printf("%g ",a[i]);
printf("\n");
for(i=10;i>=0;i--)
printf("%g ",a[i]);
printf("\n");
}
哎!还真有人写出来啊!
这种也问?还真有人写!还是好人多啊!
直接百度一下就有源码啊,
仔细翻看下教材,肯定会找到【冒泡排序】这个算法,相信你可以解决这个问题的。
C语言教材讲得很清楚,应该把数组看懂,然后自己上手编写才会有体会啊。
不是吧,这个还是自己考虑考虑写出来好对你有好处…