c语言整数字符串排序函数 c语言 数字排序

C语言字符串快速排序函数#include stdio.h
#includestdlib.h
#includestring.h
int comp(char *a,char *b)
{
while(*a==*b*a*b){a;b;}
return (int)*a-(int)*b;
}
int main(void)
{
char s[1000][20];
int i,n;
scanf("%d\n",n);
for(i=0;in;i)
gets(s[i]);
qsort(s,n,sizeof(s[0]),comp);
printf("\n");
for(i=0;in;i)
puts(s[i]);
system("pause");
return 0;
}
C语言中如何将10个字符串进行排序#includestdio.h
#includestring.h
int main()
{
int j,k,i,t,n;
char s[10][10],b[10][10];
for(i=0;i10;i)
{
scanf("%s",s[i]);
}
n=strlen(s[1]);
k=0;
for(i=0;i9;i)
{
for(j=0;j9-i;j)
if(strcmp(s[j],s[j 1])0)
{
for(k=0;kn;k)
b[j][k]=s[j][k];
for(k=0;kn;k)
s[j][k]=s[j 1][k];
for(k=0;kn;k)
s[j 1][k]=b[j][k];
}
}
for(i=0;i10;i)
{
printf("%s ",s[i]);
}
return 0;
}
运行效果c语言整数字符串排序函数:
扩展资料c语言整数字符串排序函数:
scanf函数用法:
scanf("输入控制符",输入参数);
功能:将从键盘输入c语言整数字符串排序函数的字符转化为“输入控制符”所规定格式c语言整数字符串排序函数的数据,然后存入以输入参数c语言整数字符串排序函数的值为地址的变量中 。
用scanf()函数以%s格式读入的数据不能含有空白符时 , 所有空白符都被当做数据结束的标志 。所以题中函数输出的值只有空格前面的部分 。
如果想要输出包括空格在内的所有数据,可以使用gets()函数读入数据 。gets()函数的功能是读取字符串 , 并存放在指定的字符数组中,遇到换行符或文件结束标志时结束读入 。换行符不作为读取串的内容 , 读取的换行符被转换为字符串结束标志'\0' 。
C语言中 字符串怎么排序直接借助冒泡排序,选择排序即可进行字符串的排序,但是需注意的是,字符串的比较需要借助strcmp函数完成,而字符串的复制需要借助strcpy函数完成 。
示例代码如下:
#include "stdio.h"
#include "string.h"
void sort(char array[][20],int n);
main(void)
{
char str[10][20];
int i,j,k,n;
printf("input n (n=10):");
【c语言整数字符串排序函数 c语言 数字排序】scanf("%d",n);
printf("input %d string:",n);
for(i=0;in;i)
gets(str[i]);//输入N个字符串
sort(str,n);//对输入的字符串排序
printf("sort string:\n");
for(i=0;in;i)
puts(str[i]);
return 0;
}
void sort(char array[][20],int n)//定义排序函数
{
char temp[20];
int i,j,k;
for(i=1;in-1;i)
{
k=i;
for(j=i 1;jn;j)
if(strcmp(array[k],array[j])0)
k=j;
if(k!=i)
{
strcpy(temp,array[i]);//字符串交换顺序
strcpy(array[i],array[k]);
strcpy(array[k],temp);
}
}
}
c语言字符串排序你有两个错误 , 一是C的变量定义必须在所有语句之前,二是字符串不能赋值,必须使用strcpy函数 , 修改后的程序代码和运行结果如下:
$ cat a.c
#includestdio.h
#includestring.h
void Solve();
void sort(char *name[], int n);
int main()
{
Solve();
return 0;
}
void Solve()
{
int i,n;
char name[100][100];
scanf("%d",n);
for(i=0;in;i)
{
gets(name[i]);
}
sort(name,n);
for(i=0;in;i)
{
puts(name[i]);
}
}
void sort(char *name[100], int n)
{
int i,j,k;
char *temp;
for(i=0;in-1;i)
{
k=i;
for(j=i 1;jn;j) if(strcmp(name[k],name[j])0) k=j;
if (k!=i)
{
{
strcpy(temp,name[i]);
strcpy(name[i],name[k]);
strcpy(name[k],temp);
}
}
}
}
$ cc a.c
"a.c", line 19: warning #2167-D: argument of type "char (*)[100]" is
incompatible with parameter of type "char **"
sort(name,n);
^
$ a.out
6dkjlfhgjkshdfjkgh
1kdfghj
3dkjfhghd
2dlkfjgklj
5ldfkhlkj
4dflkghklj
1kdfghj
3dkjfhghd
2dlkfjgklj
5ldfkhlkj
4dflkghklj
$ cc -V
cc: HP C/aCB3910B A.06.25 [Nov 30 2009]
/cq/u/cqjsdba/ygb
关于c语言整数字符串排序函数和c语言 数字排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读