当前位置:首页 » 编程语言 » 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();
}