码迷,mamicode.com
首页 > 编程语言 > 详细

简单的算法编程题-任意段落按照单词逆序输出

时间:2019-02-16 22:03:57      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:i++   blog   strlen   string   幽默   view   lan   return   include   

把这个问题抛给温州皮鞋厂老板,老板直接就说这个题目的本意是让你提出stack的解决方案

??what?stack?too low!

??因为这么个问题还要实现一个stack有点场面大了,事实上谁不知道你把一个个单词push进去,然后再pop出来不就好了吗?所以说stack方案太通用,不足挂齿。…周末没事干时折腾点此类问题,没有错,错在拉开蚊帐睡觉时吵醒疯子和小小,事情偶尔会变严重。

??另外,使用C语言完成和使用Java完成完全不同,Java调用现成的class会非常简单,复杂度完全隐藏在了内部。此外,C语言是否可以用strtok也必须有所约束。以下是我的方案,非常好玩,像我这种不会编程的人,请不要笑我。因为我没有用strlen,没有用strcpy,没有用malloc…:

#include <stdio.h>
#include <stdlib.h>

int ok(char c)
{
        if ( (c <= 90 && c >= 65) || (c <=122 && c >= 97) )
                return 1;
        return 0;
}

int main(int argc, char **argv)
{
        char orig[] = {‘i‘, ‘ ‘, ‘a‘, ‘m‘, ‘ ‘, ‘a‘, ‘ ‘, ‘s‘, ‘t‘, ‘u‘, ‘d‘, ‘e‘, ‘n‘, ‘t‘, ‘,‘, ‘a‘, ‘n‘, ‘d‘, ‘ ‘, ‘y‘, ‘o‘, ‘u‘, 0};

        char *buf = orig, *tbuf = orig;
        int i = 0, j = 0;
    // 获取长度
        while (*tbuf++ != 0) j++;

    // 前后逆序交换
        for (j--; j > i; i++, j--) {
                char c = orig[i];
                orig[i] = orig[j];
                orig[j] = c;
        }

    // 遍历
        while (*buf != 0) {
                int k = 0, p = 0;
                char *temp = buf;
                while (ok(*(buf++))) {
                        k++;
                }
        // 按照单词逆序
                for (k--; p < k; p++, k--) {
                        char c = temp[p];
                        temp[p] = temp[k];
                        temp[k] = c;
                }
        }
    // 打印结果
        printf("%s\n", orig);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

看似个鸳鸯蝴蝶,不应该的年代。嗯?有啥不应该?

??不多说。

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

简单的算法编程题-任意段落按照单词逆序输出

标签:i++   blog   strlen   string   幽默   view   lan   return   include   

原文地址:https://www.cnblogs.com/ksiwnhiwhs/p/10389402.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!