会C的进来

来源:百度知道 编辑:UC知道 时间:2024/05/13 08:31:49
高手帮我解释下这个程序是干嘛的`
#include<stdio.h>
#define N 5
void main()
{
int i,j;
int grade[N],temp;
printf("\n 输入%d个学员的成绩:");
for(i=0;i<N;i++)
{
for(j=0;j<N-i-1;j++)
{
if (grade[j]<grade[j+1])
{
temp=grade[j+1];
grade[j+1]=grade[j];
grade[j]=temp;
}
}
}
printf("\n 排列后的成绩为:");
for(i=0;i<N;i++)
{
printf("%d",grade[i]);
}
printf("\n");
}
主要是解释下从这开始
for(j=0;j<N-i-1;j++)
{
if (grade[j]<grade[j+1])
{
那个j是干什么的`?详细点`谢谢

如果grade[j]大于grade[j+1]那么grade[j],grade[j+1]对调!
这是冒泡法!
printf("\n 输入%d个学员的成绩:"); 不对

输入学员成绩以后进行循环排列显示出

用起泡法.,.,排列学生成绩.,.,.,.,

结果为从高望底排列.,.,

你把那两个FOR语句一句一句读,,当I=0,1,2,3,4;J=0,1,2,3,4,读

或许好理解一些.,.,这个不好解释了.,.,

按从小到大排序,取出一个数放在temp中,循环比较,大于等于temp中的放temp中,依次和temp中的数比较

排列题

整个程序有错误
你无法输入学生成绩,你最起码应该写
#include<stdio.h>
#define N 5
void main()
{
int i,j;
int grade[N],temp;
printf("输入学员的成绩:");
scanf("%d",&N)