當前位置:首頁 » 編程語言 » c語言冒泡排不出
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言冒泡排不出

發布時間: 2023-01-26 12:35:07

『壹』 c語言 進行冒泡排序(我想輸出排好序後的數但是不行,中間每次排序也要輸出但也不行)求大神指教

主要錯誤是bubblesort()里i,j的數值問題,下為修正過的代碼,測試通過。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void Myswap(int *p1,int *p2)
{
int temp;

temp=*p1;
*p1=*p2;
*p2=temp;
}

void show(int *pi)
{
int i;

for(i=0;i<10;i++) {
printf("%4d",pi[i]);//輸出冒泡排序後的數字的順序
}
printf("\n");
}

int BubbleSort(int iSortArray[])
{
int i=0,j=0;

printf("排序前:\n");
show(iSortArray);//輸出排序前的數字順序

printf("中間過程:\n");
for(i=0; i<=9; i++) {
for(j=0; j<=9-i; j++) {
if(iSortArray[j] > iSortArray[j+1]) {
Myswap(iSortArray+j,iSortArray+j+1);//進行數字的交換
show(iSortArray);//每次排序後的順序
}
}
}

printf("排序後:\n");
return 0;
}

int main(void)
{
int iSortArray[10],i=0;

srand((unsigned)time(NULL));

for(;i<10;i++) {
iSortArray[i]=rand()%100+1;//產生隨機數1到100中的一個
}

BubbleSort(iSortArray);

show(iSortArray);

return 0;
}

『貳』 C語言冒泡法排序,輸出老是錯誤。請指教

printf(" %d ",pst[k].score[j]);
這里的輸出類型與你定義的類型不符

『叄』 c語言,冒泡排序法,我的程序為什麼不能排序啊

for(k=0;k<9-i;k++)這里出錯了,i為10,所以一直沒有進行排序
照樓主你的程序,應該改為
for(k=0;k<9-j;k++)
i變為j
修改後
#include<stdio.h>
int main()
{ int a[10];
int i,j,k,t,s;
printf("please enter 10 numbers:");
for(i=0;i<10;i++)
{scanf("%d",&a[i]);}
for(j=0;j<9;j++)
for(k=0;k<9-j;k++)
if(a[k]>a[k+1])
{
t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
for(s=0;s<10;s++)
{printf("%d\n",a[s]);}
return 0;
}

『肆』 C語言,冒泡排序出錯。

if(a[j]>a[j+1]{
t=a[j];a[j]=a[j+1];a[j]=t;
}

上面這段代碼錯了,最後一個是a[j+1]=t

if(a[j]>a[j+1]{
t=a[j];a[j]=a[j+1];a[j+1]=t;////
}

『伍』 C語言:做職工管理系統,需要按職工號排序,我用冒泡怎麼都弄不出來,麻煩大家幫我看看,謝謝了

改過了,試試看
void printstud (struct employee *stud)
{
int i,j;
struct employee b; //用結構體來完成數據交換,因為交換的是全體數據
for (j=0;j<n-1;j++)
{
for (i=0;i<n-1-j;i++)
{
if ( strcmp(stud[i].num,stud[i+1].num) > 0 ) //串比較大小用strcmp
{
b=stud[i];
stud[i]=stud[i+1];
stud[i+1]=b;
}
}
}
printf ("以下是所有職工的信息\n");
for (i=0;i<n;i++)
{
printf ("%6s%6s%6s%6s%6s\n",stud[i].num,stud[i].name,stud[i].sex,stud[i].old,stud[i].nation); //多了一個%6s
}
printf ("請按任意數字鍵返回主菜單");
getchar();
}