| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 881 人关注过本帖
标题:原来还可以这样,嗯
取消只看楼主 加入收藏
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
结帖率:100%
收藏
 问题点数:0 回复次数:5 
原来还可以这样,嗯
程序代码:
#include<stdio.h>
#include<string.h>
void select(char *p[],int n)
{
    int i, j, m;
    char *t;
    for (i = 0; i < n - 1; i++)
    {
        m = i;
        for (j = i + 1; j < n; j++)
        {
            if (strcmp(p[m], p[j]) > 0)
                m = j;
        }
        if (i != m)
        {
            t = p[i];
            p[i] = p[m];
            p[m] = t;
        }
    }
}

void print(char *p[], int n)
{
    int i;
    for (i = 0; i < n; i++)
        printf("%s\n", p[i]);
}

int main()
{
    void select(char *p[], int n);
    void print(char *p[], int n);
    char a[5][5];
    int i;
    char *p[5];
    for (i = 0; i < 5; i++)
        p[i] = a[i];
    for (i = 0; i < 5; i++)
        gets_s(p[i],5);
    select(p, 5);
    print(p, 5);
    return 0;
}
搜索更多相关主题的帖子: color 
2017-01-23 19:38
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
改了改,好像不能改成*p
程序代码:
#include<stdio.h>
#include<string.h>
void select(char *a[],int n)
{
    int i, j, m;
    char *t, **p;
    p = &a[0];
    for (i = 0; i < n - 1; i++)
    {
        m = i;
        for (j = i + 1; j < n; j++)
        {
            if (strcmp(p[m], p[j]) > 0)
                m = j;
        }
        if (i != m)
        {
            t = p[i];
            p[i] = p[m];
            p[m] = t;
        }
    }
}

void print(char *p[], int n)
{
    int i;
    for (i = 0; i < n; i++)
        printf("%s\n", p[i]);
}

int main()
{
    void select(char *a[], int n);
    void print(char *p[], int n);
    char a[5][5];
    int i;
    char *p[5];
    for (i = 0; i < 5; i++)
        p[i] = a[i];
    for (i = 0; i < 5; i++)
        gets_s(p[i],5);
    select(p, 5);
    print(p, 5);
    return 0;
}

2017-01-23 21:16
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
依旧不能用*p
程序代码:
#include<stdio.h>
#include<string.h>
void select(char *a[],int n)
{
    int i, j, m;
    char *t, **p;
    p = &a[0];
    for (i = 0; i < n - 1; i++)
    {
        m = i;
        for (j = i + 1; j < n; j++)
        {
            if (strcmp(p[m], p[j]) > 0)
                m = j;
        }
        if (i != m)
        {
            t = p[i];
            p[i] = p[m];
            p[m] = t;
        }
    }
}

void print(char *a[], int n)
{
    int i;
    char **p;
    p = &a[0];
    for (i = 0; i < n; i++)
        printf("%s\n", *p++);
}

int main()
{
    void select(char *a[], int n);
    void print(char *p[], int n);
    char a[5][5];
    int i;
    char *p[5];
    for (i = 0; i < 5; i++)
        p[i] = a[i];
    for (i = 0; i < 5; i++)
        gets_s(p[i],5);
    select(p, 5);
    print(p, 5);
    return 0;
}
2017-01-24 08:30
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
又改了改
程序代码:
#include<stdio.h>
#include<string.h>
void sort(char a[5][5])
{
    int i, j;
    char *p, t[5];
    p = t;
    for(i=0;i<4;i++)
        for(j=0;j<4-i;j++)
            if (strcmp(a[j], a[j + 1]) > 0)
            {
                strcpy_s(p, 5, a[j]);
                strcpy_s(a[j], 5, a[j + 1]);
                strcpy_s(a[j + 1], 5, p);
            }
}

void print(char a[5][5])
{
    int i;
    for (i = 0; i < 5; i++)
        printf("%s\n", a[i]);
}

int main()
{
    void sort(char a[5][5]);
    void print(char a[5][5]);
    char a[5][5];
    int i;
    for (i = 0; i < 5; i++)
        gets_s(a[i], 5);
    sort(a);
    print(a);
    return 0;
}
2017-01-24 11:31
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
又改了改
程序代码:
#include<stdio.h>
#include<string.h>
void sort(char a[5][5])
{
    int i, j;
    char *p, t[5];
    p = t;
    for(i=0;i<4;i++)
        for(j=0;j<4-i;j++)
            if (strcmp(a[j], a[j + 1]) > 0)
            {
                strcpy_s(p, 5, a[j]);
                strcpy_s(a[j], 5, a[j + 1]);
                strcpy_s(a[j + 1], 5, p);
            }
}

void input(char a[5][5])
{
    int i;
    for (i = 0; i < 5; i++)
        gets_s(a[i], 5);
}

void print(char a[5][5])
{
    int i;
    for (i = 0; i < 5; i++)
        printf("%s\n", a[i]);
}

int main()
{
    void sort(char a[5][5]);
    void input(char a[5][5]);
    void print(char a[5][5]);
    char a[5][5];
    input(a);
    sort(a);
    print(a);
    return 0;
}
2017-01-24 11:36
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
又改了改
程序代码:
#include<stdio.h>
#include<string.h>
void input(char(*p)[5])
{
    int i;
    for (i = 0; i < 5; i++)
        gets_s(p[i]);
}

void sort(char(*p)[5])
{
    int i, j;
    char *t, temp[5];
    t = temp;
    for(i=0;i<4;i++)
        for(j=0;j<4-i;j++)
            if (strcmp(p[j], p[j + 1]) > 0)
            {
                strcpy_s(t, 5, p[j]);
                strcpy_s(p[j], 5, p[j + 1]);
                strcpy_s(p[j + 1], 5, t);
            }
}

void print(char(*p)[5])
{
    int i;
    for (i = 0; i < 5; i++)
        printf("%s\n", p[i]);
}

int main()
{
    void input(char(*p)[5]);
    void sort(char(*p)[5]);
    void print(char(*p)[5]);
    char a[5][5];
    input(a);
    sort(a);
    print(a);
    return 0;
}
2017-01-24 12:04
快速回复:原来还可以这样,嗯
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025616 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved