C语言问题5

来源:百度知道 编辑:UC知道 时间:2024/06/15 05:20:43
#include "stdio.h"
void main()
{int i,j,s,a[10],p,q;
for (i=0,i<10,i++)
printf("Input the %dth number:",i+1);
scanf("%d",&a[i]);
for (i=0,i<10,i++)
{p=i;
q=a[i];
for (j=i+1,j<10,j++)
if (a[j]>q)
{p=j;q=a[j];}
if (i!=p)
{s=a[j];
a[j]=a[i];
a[i]=s;
printf("%d",q);
}
}
}
此程序错在哪里?各路好汉请多多帮忙!谢谢!
我想把输入的数字排序的,怎么没有排成功啊?
谁能帮帮我?

下面的程序编译通过,但是逻辑上应该还有错,是你的事了......
补充的在后面

#include "stdio.h"
void main()
{
int i,j,s,a[10],p,q;

for (i=0;i<10;i++) /*把,改成;*/
{/*少了一个{*/
printf("Input the %dth number:",i+1);
scanf("%d",&a[i]);
}/*少了一个}*/

for (i=0;i<10;i++) /*把,改成;*/
{ /*少了一个{*/
p=i;
q=a[i];
for (j=i+1;j<10;j++) /*把,改成;*/
if (a[j]>q)
{
p=j;q=a[j];
}
if (i!=p)
{
s=a[j];
a[j]=a[i];
a[i]=s;
printf("%d",q);
}
}
}

补充:插入排序
#include "stdio.h"

void insert(int *a, int y, int n)
{
int i = n - 1;
while (i >= 0 && y < a[i])
{
a[i + 1] = a[i];
i--;
}
a[i + 1] = y;
}

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

for (i = 0; i <