以下语句有什么错误???

来源:百度知道 编辑:UC知道 时间:2024/05/05 06:03:04
以下语句有什么错误???
悬赏分:0 - 离问题结束还有 14 天 23 小时
#include <stdio.h>
void main()
{int a,j,i;int u[5];
for (i=0;i<=5;i++) scanf("%d",&u[i]);
for (i=0;i<=4;i++) {
for (j=0;j<=5-i;j++) if {(u[j]>u[j+1]) a=u[j];u[j]=u[j+1];u[j+1]=a;}
}
for (i=0;i<=5;i++) printf("%d",u[i]) ;}

U[5]是从U[0]到U[4],单看你第1个for语句1<=5 就有问题了。

if 后面的“{”
改为if(u[j]>u[j+1]){a=u[j];
就是把大括号往后移一下。

main()
{int a,j,i;int u[5];
for (i=0;i<=5;i++)
scanf("%d",&u[i]);
for (j=0;j<4;j++)
{
for (i=0;i<=4-j;i++)
if
{(u[i]>u[i+1]) a=u[i];u[i]=u[i+1];u[i+1]=a;}
}
for (i=0;i<=5;i++) printf("%d",u[i]) ;}
这是冒泡排序法

那个不是i<=5,应该是i<5因为程序中数组是从0开始算第一个的``

这个是冒泡吗?
你也写的太乱了点吧..我把你的格式改下..!
#include <stdio.h>
void main()
{
int a,j,i;
int u[5];
for (i=0;i<=5;i++)
scanf("%d",&u[i]);
for (i=0;i<=4;i++)
{
for (j=0;j<=5-i;j++)
{
if (u[j]>u[j+1])
{
a=u[j];
u[j]=u[j+1];
u[j+1]=a;
}
}
}
for (i=0;i<=5;i++)
printf("%d",u[i]);
}
问题一个一个说:
1.数组的首位下标应该是0.数组有五个数.下标应该是从 0