大一下期末考试:排序问题

来源:互联网 发布:天猫魔盒无法安装软件 编辑:程序博客网 时间:2024/06/03 19:29

大一下期末考试:排序问题

/*题目2:数组+冒泡排序=字符串排序*/#include <stdio.h>#include <string.h>void sort(char a[][100],int n);int main(){    char a[100][100];    int i,n;    printf("the number:");    scanf("%d",&n);    printf("Please input strings:");    for(i=0;i<n;i++)    {        scanf("%s",a[i]);    }    sort(a,n);    for(i=0;i<n;i++)    {        printf("%s\n",a[i]);    }}void sort(char a[][100],int n){    int i,j;    char temp[100];    for(i=0;i<n;i++)    {        for(j=1;j<n;j++)        {            if(strcmp(a[j-1],a[j])>0)            {                strcpy(temp,a[j-1]);                strcpy(a[j-1],a[j]);                strcpy(a[j],temp);            }        }    }}
/*题目2:指针+选择排序=字符串排序*/#include  <stdio.h>#include  <string.h>#define   MAX_LEN  10#define   N         150void SortString(char *ptr[], int n);int main(){    int    i, n;    char   name[N][MAX_LEN];    char   *pStr[N];    printf("How many strings?");    scanf("%d", &n);    getchar();    printf("Put them in:\n");    for (i=0; i<n; i++)    {        pStr[i] = name[i];        gets(pStr[i]);    }    SortString(pStr, n);    printf("Sorted results:\n");    for (i=0; i<n; i++)    {        puts(pStr[i]);    }    return 0;}void SortString(char *ptr[], int n){    int    i, j ,k;    char  *temp = NULL;    for (i=0; i<n-1; i++)    {        k=i;        for (j = i+1; j<n; j++)        {            if (strcmp(ptr[j], ptr[k]) < 0)            {                k=j;            }        }        if (k!=i)        {            temp = ptr[k];            ptr[k] = ptr[i];            ptr[i] = temp;        }    }}

洛水成诗

原创粉丝点击