最恶心的广告贪玩:我是C语言初学者,帮我看看这道题

来源:百度文库 编辑:高考问答 时间:2024/05/04 17:55:53
1.定义函数void sort(int a[],int n),用冒泡法对数组a中的元素排序。自己定义main函数,并在其中调用sort函数。在main函数中用scanf函数输入10个整数,调用sort函数完成把10个整数从小到大排序然后输出排序后结果。
提示:冒泡法排序思路:从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比较后,最大的数已放在最后,第二遍只需考虑(N-1)个数,以此类推直到第(N-1)遍比较后就可以完成排序。另外注意:c语言中的数组元素下标是从0开始的。

void sort(int a[],int n)
{
int i,j;
for(i=n-1;i>=1;i--)
{
for(j=0;j<i;j++)
{
if(a[j]>a[j+1])
{
a[j]+=a[j+1];
a[j+1]=a[j]-a[j+1];
a[j]-=a[j+1];
}
}
}
}

int main()
{
int i,a[10];
for(i=0;i<10;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
sort(a,10);
printf("\n");
for(i=0;i<10;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
return 0;
}

for (int i = arrayOfInts.length; --i >= 0; ) {
for (int j = 0; j < i; j++) {
if (arrayOfInts[j] > arrayOfInts[j+1]) {
int temp = arrayOfInts[j];
arrayOfInts[j] = arrayOfInts[j+1];
arrayOfInts[j+1] = temp;
}
}

void sort(int a[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++) //一共执行n-1次比较
{
for(j=0;j<n-1-i;j++) //第i次进行比较的数要进行n-i次比较,注意i,j是从0开始;
{
if(a[j]>a[j+1])
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
}
printf("\n");
for(k=0;k<10;k++)
{
printf("a[%d]=%d\n",k,a[k]);
}
}
void main()
{
int k,a[10];
for(k=0;k<10;k++)
{
scanf("%d",&a[k]);
}
sort(a,10);
}