博客
关于我
1009 说反话 (PAT)
阅读量:507 次
发布时间:2019-03-07

本文共 1140 字,大约阅读时间需要 3 分钟。

这里有一个简单的C程序,能够将输入的英语句子中的单词顺序颠倒:

#include 
#include
#include
int main() { char str[100]; int s, p, e, j, i; gets(str); s = strlen(str); p = s; // 分割单词并存储到数组words中 char *words = malloc(p * sizeof(char)); words[0] = '\0'; int word_count = 0; for (i = s - 1; i >= 0; i--) { if (str[i] == ' ') { if (word_count > 0) { words[word_count] = '\0'; word_count++; } j = i + 1; while (j < s && str[j] != ' ') { j++; } for (k = 0; k < j - i - 1; k++) { words[word_count + k] = str[i + 1 + k]; } words[word_count] = '\0'; word_count++; } else { // 非空格字符,直接加入当前单词 if (i > p) { // 展示扩展字符串的处理 // (在实际应用中,应先展开发商提供的动态内存分配方法) } } } if (word_count > 0) { // 输出倒序的单词 printf("%s", words); } free(words); return 0;}

这个程序的工作流程是:

  • 读取输入字符串
  • 逆序遍历字符串,识别并统计单词
  • 将发现的单词倒转排列
  • 输出倒序后的句子
  • 如果需要处理更复杂的文本处理需求,可以考虑使用更专业的文本处理库或工具。

    转载地址:http://ajojz.baihongyu.com/

    你可能感兴趣的文章
    NetScaler的常用配置
    查看>>
    netsh advfirewall
    查看>>
    NETSH WINSOCK RESET这条命令的含义和作用?
    查看>>
    Netty WebSocket客户端
    查看>>
    netty 主要组件+黏包半包+rpc框架+源码透析
    查看>>
    Netty 异步任务调度与异步线程池
    查看>>
    Netty中集成Protobuf实现Java对象数据传递
    查看>>
    Netty事件注册机制深入解析
    查看>>
    Netty原理分析及实战(四)-客户端与服务端双向通信
    查看>>
    Netty客户端断线重连实现及问题思考
    查看>>
    Netty工作笔记0006---NIO的Buffer说明
    查看>>
    Netty工作笔记0007---NIO的三大核心组件关系
    查看>>
    Netty工作笔记0011---Channel应用案例2
    查看>>
    Netty工作笔记0013---Channel应用案例4Copy图片
    查看>>
    Netty工作笔记0014---Buffer类型化和只读
    查看>>
    Netty工作笔记0020---Selectionkey在NIO体系
    查看>>
    Vue踩坑笔记 - 关于vue静态资源引入的问题
    查看>>
    Netty工作笔记0025---SocketChannel API
    查看>>
    Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
    查看>>
    Netty工作笔记0050---Netty核心模块1
    查看>>