用C语言编写的用起泡法对10个字符按从小到大排序,只求朋友们找出其中的错误即可

来源:百度知道 编辑:UC知道 时间:2024/05/30 07:42:14
main()
{
char str[10];
int i;
void sort(char str[]);
for(i=0;i<10;i++)
scanf("%c ",&str[i]);
sort(str);
for(i=0;i<10;i++)
prcharf("%c\n",str[i]);
}
void sort(char str[])
int i,j;
char t;
for(j=0;j<10;j++)
for(i=0;i<10-j;i++)
{
if(str[i]>str[i+1])
{
t=str[i];
str[i]=str[i+1];
str[i+1]=t;
}
}

编译通过后的,自己对比一下吧

#include "stdio.h"

void sort(char str[]);

main()
{
char str[10];
int i;
for(i=0;i<10;i++)
scanf("%c ",&str[i]);
sort(str);
for(i=0;i<10;i++)
printf("%c\n",str[i]);
}
void sort(char str[])
{
int i,j;
char t;
for(j=0;j<10;j++)
for(i=0;i<10-j-1;i++)
{
if(str[i]>str[i+1])
{
t=str[i];
str[i]=str[i+1];
str[i+1]=t;
}
}
}

是不是第二个for语句的问题啊
改成for(i=j;i<10-j;i++)试试呢

prcharf("%c\n",str[i]);这句用printf代替

你是不是少了几个大括号啊???