首页 > 其他分享 >无法AC,关于使用fgets碰到的问题——末尾多一个换行符

无法AC,关于使用fgets碰到的问题——末尾多一个换行符

时间:2024-05-16 15:19:34浏览次数:23  
标签:AC int len fgets 换行符 末尾 输入

题目是输入一串字符串,包含空格,里面有多个单词,将每个单词翻转输出,并且单词之间的空格要与原文一致。
写的时候没有使用string的输入,而是选择了char数组的输入。
样例测试hello world->olleh dlrow是没有问题的,就以为没问题,但是一直通不过。
调试的时候,变量也是有些神奇,不过这个是系统bug。
直到输入了123 23 34,输出的时候321 32 这个43换行了,这就不太对劲了。多出了一个\n换行符。
查询了下,fgets获取的时候,会把换行符也放入,主要是因为它本身就是处理文件的,文件换行,自然是要带上换行符的。
这道题,硬卡了一个小时,总算是找到原因了,都要觉得测试数据坑我了,到头来,还是自己是小丑啊!

#include <iostream>
#include <cstring>
using namespace std;
int main() {
	/*
	123  34 23
	*/
	char a[505] = {0};
	fgets(a, 505, stdin);//末尾会多拿一个'\n'
	int len = strlen(a);
	a[len-1]='\0';
	strcat(a, " ");
	for (int i = 0; i < len; i++) {
		if (a[i] == ' ') {
			for (int j = i-1; j >= 0; j--) {
				if(a[j]==' '){
					break;
				}
				cout << a[j];
			}
			if(i!=len-1){
				cout << a[i];
			}
		}
	}
	return 0;
}

标签:AC,int,len,fgets,换行符,末尾,输入
From: https://www.cnblogs.com/danlis/p/18196023

相关文章

  • webpack相关知识点
    一、webpack打包过程。首先读取配置文件,确定入口文件及其依赖关系,然后,从入口文件开始,递归解析所有模块,通过相应的加载器(loaders)处理不同类型的文件内容,如Javascript、css等。接着,使用插件(plugins)执行额外的任务,如代码压缩、环境变量注入等。最后,将处理后的模块按照指定的格式......
  • React-入门手册-全-
    React入门手册(全)原文:zh.annas-archive.org/md5/2B8E3D6DF41679F5F06756066BE8F7E8译者:飞龙协议:CCBY-NC-SA4.0前言诸如Angular和React之类的项目正在迅速改变开发团队构建和部署Web应用程序到生产环境的方式。在本书中,你将学习到使用React入门所需的基础知识,并应......
  • React-路由快速启动指南-全-
    React路由快速启动指南(全)原文:zh.annas-archive.org/md5/64054E4C94EED50A4AF17DC3BC635620译者:飞龙协议:CCBY-NC-SA4.0前言Facebook的React框架重新定义了前端应用程序的构建方式。ReactRouter已成为使用React构建的应用程序的事实标准路由框架。通过其最新的4......
  • buffer/cach太高导致k8s无法新建pod分配内存
    1.使用hcache查看buff/cache占用情况执行下面的命令安装hcache,原hcache项目地址https://github.com/silenceshell/hcachewgethttps://silenceshell-1255345740.cos.ap-shanghai.myqcloud.com/hcachechmod+xhcachemvhcache/usr/local/bin/查看缓存排名前十的进程hc......
  • React16-基础知识第二版-全-
    React16基础知识第二版(全)原文:zh.annas-archive.org/md5/3e3e14982ed4c5ebe5505c84fd2fdbb9译者:飞龙协议:CCBY-NC-SA4.0前言自第一版ReactEssentials以来,React生态系统发生了很多变化。越来越多的人正在构建React应用程序,有成熟的库和框架支持React应用程序,React......
  • BOSHIDA AC/DC电源模块在工业自动化领域的应用探析
    BOSHIDAAC/DC电源模块在工业自动化领域的应用探析AC/DC电源模块是一种将交流电转换为直流电的电力转换设备,在工业自动化领域具有广泛的应用。本文将从稳定性、效率和可靠性三个方面对AC/DC电源模块在工业自动化领域的应用进行探析。 首先,AC/DC电源模块在工业自动化领域的应......
  • 【Oracle】Oracle SQL查询数字是否为小数点后两位
    【Oracle】OracleSQL查询数字是否为小数点后两位因为业务要求,需要对系统中的属性值进行更新,如果数据为小数点后三位及以上,则需要将对应的单位进行变更,并将数据同步翻倍例如0.001KG,要换成1G我们知道instr可以找某个字符的位置,同样的,我们可以通过instr查找小数点的位置同时,......
  • openGauss connection-rollback
    connection.rollback()功能描述此方法回滚当前挂起事务。注意:执行关闭连接“close()”而不先提交更改“commit()”将导致执行隐式回滚。原型connection.rollback()参数无。返回值无。示例请参见示例:常用操作。......
  • nacos2.3.2部署(鲲鹏arm版)
    1.说明  本次编译是因为公司适配鲲鹏arm系列,业务涉及到了nacos-server,所以就选择最新版本进行了编译,期间也想直接使用官方镜像nacos/nacos-server:v2.1.2-slim、nacos/nacos-server:v2.2.0-slim,无一例外失败了,启动不了,所以最后只能选择源码编译,在制作镜像的方式进行。2.编......
  • Nacos热更新静态变量配置
    Nacos热更新静态变量配置Springboot项目接入nacos,配置文件统一管理,但静态常量无法通过@Value注解实时热更新(如下所示)。GlobalVariables.java@ComponentpublicclassGlobalVariables{//测试热加载配置字段publicstaticStringtestInfo;@Value("${test......