wikioi 1205 单词倒排
/*====================================================================== 1205 单词翻转 题目描述 Description 给出一个英语句子,希望你把句子里的单词顺序都翻转过来 输入描述 Input Description 输入包括一个英语句子。 输出描述 Output Description 按单词的顺序把单词倒序输出 样例输入 Sample Input I love you 样例输出 Sample Output you love I 数据范围及提示 Data Size & Hint 简单的字符串操作 解析: 注意:输入的字符串含空格,要用gets函数输入。 这个题目可以先把整个字符串读入,然后对整个字符串进行翻转,然后再以空格为 分隔符将每一个单词再次翻转就OK了。(也可以不对单词进行翻转,把他们存到数组b再逆序输出即可。) 还可以输入字符串,然后从后面往前面搜索,以空格为分隔符把每一个单词输出 (这个是取巧,不是真正地完成工作,但比赛时只是检测输出结果,可以考虑使用。) ========================================================================*/ #include<stdio.h> #include<string.h> int main() { char a[500],temp,b[100];//a数组存贮整个句子,b存储某一个单词 int i,len,j,k; freopen("9.in","r",stdin); gets(a); len=strlen(a); for(i=0;i<len/2;i++)//对整个字符串进行翻转 { temp=a[i]; a[i]=a[len-1-i]; a[len-1-i]=temp; } //printf("\n%s\n",a); i=0; j=0; while(a[i]!='\0') { if(a[i]!=' ') {//扫描句子,遇到非空格字符则存到b数组 b[j]=a[i]; j++; } else {//扫描句子时遇到空格,逆向输出b数组存贮的那个被逆序的单词 for(k=j-1;k>=0;k--) { printf("%c",b[k]); } printf(" "); j=0; } i++; }/**/ for(k=j-1;k>=0;k--)//最后一个单词需要单独处理 { printf("%c",b[k]); } printf("\n"); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App