C语言大作业指针字符串处理,[C语言-PTA]说反话-加强版 — 字符串的指针式处理 | 祭夜の咖啡馆...
前言
试了好几种方法,郁闷死了
题目
7-20 说反话-加强版 (20分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。
输入样例:Hello World Here I Come
输出样例:Come I Here World Hello
处理方案
1.超大二维数组,每个一维子数组存储一个单词,倒着输出。(部分超时,部分格式错误,部分正确,我看着格式没毛病啊
)
2.递归(部分段错误,格式错误,这格式真不好处理,搞了半天放弃了
)
3.超大一维数组,倒着输出(处理上麻烦点, 但还是比较容易实现,全部正确
)
超大一维数组处理
1.让一个指针变量指向字符串最后一位
2.向前扫描,去掉结尾的空格
3.向前扫描,遇到 前一个字符为空格 就输出 当前地址的单词
4.重复2 & 3 直到p指向首地址
字符串的可能情况:
N个空格-单词-N个空格-单词-N个空格
我的答案
#include
#include
int main(void)
{
char string[500001];
char *p;
//将字符串的首地址赋给p
p = gets(string);
//将p移动到最后一位
p = p + strlen(string) - 1;
//去除结尾的空格
while(*p == ' ')
{
*p = '\0';
p--;
}
//core
while (p > string)
{
//判断前一个字符是否为空格
if(*(p - 1) == ' ')
{
//前一个字符是空格!!!
printf("%s", p);
//删除前方空格
while(*(p - 1) == ' ')
{
*(p - 1) = '\0';
p--;
}
//控制空格输出
/*
* 为什么判断是不是首地址?
* 输出原字符串的第一个单词时,不管前面有几个空格都会被消去,使指针变量p指向字符串首地址
*/
if(p != string)
printf(" ");
}
p--;
}
//用于字符串开头没有空格的时候输出源字符串第一个单词
printf("%s", p);
return 0;
}
祭夜の咖啡馆 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:[C语言-PTA]说反话-加强版 — 字符串的指针式处理
C语言大作业指针字符串处理,[C语言-PTA]说反话-加强版 — 字符串的指针式处理 | 祭夜の咖啡馆...相关推荐
- 西工大c语言大作业题目,西工大c语言大作业.ppt
<西工大c语言大作业.ppt>由会员分享,可在线阅读,更多相关<西工大c语言大作业.ppt(43页珍藏版)>请在人人文库网上搜索. 1.二项系数1.二项式系数C(n,k)因其在 ...
- c语言大作业书店图书管理系统,c语言课程设计 书店管理系统.pdf
c语言课程设计 书店管理系统 计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24 日 一.选题背景: 设计一 ...
- c语言大作业书店图书管理系统,C语言_课程设计—书店图书管理系统.doc
计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24日 一.选题背景: 设计一个图书管理系统,管理员通过登陆账 ...
- c语言大作业书店图书管理系统,C语言课程设计书店管理系统.pdf
计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24 日 一.选题背景: 设计一个图书管理系统,管理员通过登陆 ...
- 桂林电子科技大学C语言大作业,桂林电子科技大学c语言程序设计习题集及答案qvzaewzm.doc...
桂林电子科技大学c语言程序设计习题集及答案qvzaewzm 一 单项选择题(每题2分,共44分) 1 以下叙述正确的是__C_. A C程序基本组成单位是语句 B C程序每一行只能写一个语句 C 简单 ...
- c语言大作业教室预约管理系统,C语言程序设计——教室管理系统(源代码))
C语言程序设计--教室管理系统(源代码) 非常有用的. #include #include #include #define szSTR 64 #define fileDB "c:\\con ...
- c语言大作业走迷宫,基于C语言实现简单的走迷宫游戏
本文实例讲述了C语言实现简单的走迷宫游戏的方法,代码完整,便于读者理解. 学数据结构时用"栈"写的一个走迷宫程序,实际上用到双向队列,方便在运行完毕后输出经过的点. #includ ...
- 学生证选课系统c语言大作业,学生选课管理系统c语言程序
#include #include #include int N1,N2; struct couse * head1; struct student * head2; struct couse //课 ...
- c语言大作业酒店管理系统,用C语言编写的酒店管理系统
#include #include #include int max=1;//用于计数用户登录 int room[5][5];//声明一个2维数组保留每个房间的入住 int jishi[5][5];/ ...
- C语言大作业——匹配系统
c语言大作业,匹配系统,开了三个线程,c89,需要支持pthread.h库. 文件1 color.h #include <windows.h> const WORD FORE_BLUE = ...
最新文章
- 关于60枚一分两分五分硬币凑成一块钱的解决方法
- token、cookie是什么
- sqlserver 安装共享功能什么意思_手表上的小表盘,大表盘是什么意思?它们可以带来哪些好玩的功能...
- Same Sum Blocks
- python中的常量_Python中的变量和常量
- ssm 退出登录 java_【Java】ssm Dao层无返回 函数始终不退出
- Python面试题【315+道题】
- R中安装LightGBM(Windows 64位)
- 【BZOJ-2888】资源运输 LCT + 启发式合并
- 看jQuery源码的技巧
- 小米 无线 linux 鼠标,便捷好用的小米无线鼠标,据说用完一键退回就离不开了...
- 【随笔记】Deepin20 Linux 下安装编译NGINX
- python3 爬取今日头条文章(巧妙避开as,cp,_signature)
- Android获取设备序列号的方法与调用方式
- 《Effective Modern C++》笔记
- pep8 python 编码方式_PEP8 Python 编码规范整理
- 短线看盘比较有效的方法
- 当了一次人肉SMT贴片机后的感悟
- 弱监督学习 weakly supervised learning 笔记
- Ubuntu1504-cuda8.0-caffe安装教程(Titan X Pascal)
热门文章
- 阿里云要引领数据库市场?这话没毛病
- LaTeX参考文献_解决问题:Something‘s wrong--perhaps a missing \item. \end{thebibliography}
- 权变理论计算机管理理论,权变理论是什么意思?权变管理理论的介绍与应用
- phyton题库+解析
- 1031. 高一学堂 (at)
- HC05和电脑蓝牙通讯
- Invalid bound statement (not found)错误解决方法
- NEO dapp开发系列课程 第一组 第二讲
- nu.xom:Element
- JS实现环绕地球飞行的3D飞行线动画效果(JS+HTML)