C 冒泡排序

来源:百度知道 编辑:UC知道 时间:2024/06/06 00:37:23
#include<stdio.h>
#include<string.h>
bubble(strings,count)//冒泡排序函数——疑问: 报错,说strings,count没有声明???
char *strings;//要排序的字符串——这一行也报错,???
int count;
{
register int m,n;//定义位寄存器型变量,加快访问速度
register char s;
for(m=1;m<count;m++)
for(n=count-1;n>=m;--n)
{
if(strings[n-1]>strings[n];
{
s = strings[n-1];
strings[n-1] = strings[n];
strings[n] = s;
}
}
}

int main(void)
{
int count;
char str[200];
printf("请输入字符串: \n");
gets(str);
count = strlen(str);
bubble(str, count);
printf("排序后的字符串是: \n");
printf("%s. \n", str);
return 0;
}
问题就是我在程序中注释出的两个问题,恳请大家释疑。 谢谢!

bubble(strings,count)//两参数没有类型
char *strings//strings在参数中已经存在了

改好了,在vc下调试成功
#include<stdio.h>
#include<string.h>
void bubble(char *strings,int count)//strings,count声明在括号内,返回值也要声明
{
register int m,n;
register char s;
for(m=1;m<count;m++)
for(n=count-1;n>=m;--n)
{
if(strings[n-1]>strings[n]) //多个分号
{
s = strings[n-1];
strings[n-1] = strings[n];
strings[n] = s;
}
}
}

int main(void)
{
int count;
char str[200];
printf("请输入字符串: \n");
gets(str);
count = strlen(str);
bubble(str, count);
printf("排序后的字符串是: \n");
printf("%s. \n", str);
return 0;
}

楼上正解