Openjudge-计算概论(A)-单词倒排
2015-02-18 19:36
302 查看
描述:
编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。
输入输入为一个字符串(字符串长度至多为100)。输出输出为按要求排续后的字符串。
样例输入
样例输出
编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。
输入输入为一个字符串(字符串长度至多为100)。输出输出为按要求排续后的字符串。
样例输入
Iamastudent
样例输出
studentaamI 思路:首先把字符串先反转,从前往后扫,遇到空格处理一下单词,要特别注意:最后一个单词不同于其他单词,要单独处理! 代码如下(本代码来自我的老师:http://www.cnblogs.com/huashanqingzhu/p/3500465.html):
#include<stdio.h> #include<string.h>//记得调用库函数哦 intmain() { chara[500],temp,b[100];//a数组存贮整个句子,b存储某一个单词 inti,len,j,k; 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; } 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"); return0; }
相关文章推荐
- Openjudge-计算概论(A)-单词翻转
- openjudge 计算概论 字符串 4:最长单词2
- Openjudge-计算概论(A)-大象喝水
- Openjudge-计算概论(A)-求平均年龄
- Openjudge-计算概论(A)-角谷猜想
- OpenJudge计算概论-骑车与走路
- OpenJudge计算概论-分配病房
- openjudge 计算概论-数组练习-距离排序
- Openjudge-计算概论(A)-鸡兔同笼
- Openjudge-计算概论(A)-能被3,5,7整除的数
- Openjudge-计算概论(A)-求分数序列和
- Openjudge-计算概论(A)-奇数单增序列
- OpenJudge计算概论-中位数
- OpenJudge计算概论-求一元二次方程的根【含复数根的计算、浮点数与0的大小比较】
- OpenJudge计算概论-单词替换
- openjudge 计算概论基础编程练习(控制成分)
- Openjudge-计算概论(A)-判断闰年
- Openjudge-计算概论(A)-整数奇偶排序
- Openjudge-计算概论(A)-统计字符数
- Openjudge-计算概论(A)-DNA排序