发布网友
共5个回答
热心网友
你的逻辑结构很混乱,可以说错的很离谱,你好好理解一下冒泡的算法吧
#include<stdio.h>
冒泡的外层循环应该是for(i=1;i<=9;i++)
内层循环是for(j=0;j<10-i-1;j++)
if(a[j]>a[j+1])
再进行交换
热心网友
你的循环部分错了
printf打错了
#include<stdio.h>
void main()
{
int a[10];
int i,j,k;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if (a[i]>a[i+1])
{ k=a[i];a[i]=a[i+1];a[i+1]=k;}
for(k=0;k<=9;k++) printf(",%d",a[k]);
}
热心网友
for(j=0;j<10-j;j++)
应该是j < 10 - i吧
热心网友
应该是、
for(j=0;j<10-i;j++)
k=a[i];a[i]=a[j];a[j]=k;
热心网友
#include <iostream>
using namespace std;
int main()
{
int a[11];
int i,j,k;
for(i=0;i<10;i++)
cin>>a[i];
for(i=0;i<10;i++)
for(j=i+1;j<10;j++) //注意这里j=i+1
if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
for(k=0;k<10;k++)
cout<<a[k]<<",";
system("pause");
return 0;
}