用C语言 读入一个正整数N(N<100表示学生的个数) 输入N个学生的成绩(0-100整数) 从高到低输出所有成绩

如题所述

#include<stdio.h>
void main()
{
int n,i,j,temp=0;
printf("请输入您要输入学生成绩的个数:");
scanf("%d",&n);

float socre[100];
printf("请输入学生成绩:");
for(i=0;i<n;i++)
scanf("%f",&socre[i]);

for(i=1;i<n;i++)
{
for(j=0;j<=i;j++)
{
if(socre[j]<socre[j+1])
{
temp=socre[j];
socre[j]=socre[j+1];
socre[j+1]=temp;
}
}
}

printf("分数从高到底:");
for(i=0;i<n;i++)
printf("%.2f ",socre[i]);

}

vc通过编译,这题最关键的就是一个冒泡排序,如果有不懂得,你可以再问我
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-03
static void Main(string[] args)
{//我只是在这里举一个简单的例子,你看一下能解决问题不能,不会再来问我!
Console.WriteLine("请输入5个学生的成绩(成绩在1-100)");
int [] a=new int [5];
int item;

for (int i = 0; i < 5; i++)
{
a[i] = int.Parse(Console.ReadLine());
}

for (int i = 0; i < a.Length-1; i++)
{
for (int j = 0; j < a.Length - 1; j++)
{
if (a[j] < a[j +1])
{
item = a[j+1];
a[j+1] = a[j];
a[j] = item;

}
}
}
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine(a[i]);
}
Console.ReadLine();

}
}
相似回答