当前位置: 首页 > news >正文

算法每日一题 | 入门-顺序结构-数字反转

数字反转

题目描述

输入一个不小于 且小于 ,同时包括小数点后一位的一个浮点数,例如 ,要求把这个数字翻转过来,变成 并输出。

输入格式

一行一个浮点数

输出格式

一行一个浮点数

输入输出样例 #1

输入 #1

123.4

输出 #1

4.321

C

1

常用的输入控制符有:

%d:读入一个 32 位有符号整数。

%u:读入一个 32 位无符号整数。

%lld:读入一个 64 位有符号整数。

%llu:读入一个 64 位无符号整数。

%f:读入一个 float 类型。

%lf:读入一个 double 类型。

先定义四个字符类型。

当然,如果输入中有多余的已知字符,可以在 scanf 中用该字符占位。

例如输入是 2021.805,使用如下代码读入,a,b 的值分别为 2021,805。

scanf("%d.%d", &a, &b);

本题 AC 代码:

#include <cstdio>
using namespace std;
char a, b, c, d;
int main(){scanf("%c%c%c.%c", &a, &b, &c, &d);printf("%c.%c%c%c", d, c, b, a);return 0;
}

2

我们注意到,本题的输入长度固定为 5 个字符,且其中第 4 个字符为小数点。

要求反转 abc.d ,即:输出 d.cba

我们发现,把包括小数点在内的5个字符顺序反转后输出即可。进而我们联想到 printf 函数的一个重要特性:参数从后往前求值。 即:

printf("%u %u\n", work1(), work2())
会先执行 work2() 再执行 work1()

利用这一特性,我们可以得到核心代码:

printf("%c%c%c%c%c", getchar(), getchar(), getchar(), getchar(), getchar());

C++

1

我们先来认识一下c++的字符串string,这个类型相当于cchar[],和char一样,string也可以用数组表示多个字符串,即string a[]。接下来看看常见的几个string类型操作:

string a;//定义一个string类字符串。
int len=a.size()//读取串a的长度,注意此时a中字符下标是从0开始的。

有了这些,我们便可以反转了!

#include<bits/stdc++.h>万能头文件
using namespace std;
string a;
signed main()
{cin>>a;int len=a.size();读取长度for(int i=len-1;i>=0;i--)反转cout<<a[i];return 0;
}

字符串的反转操作我们可以用STL也可以直接倒序输出。

介绍一下STL里面的反转字符串函数 reverse()

其格式是: reverse( 数组名 .begin() , 数组名 .end() );

在此大呼一声:STL大法好!

include<bits/stdc++.h>   //文件头
using namespace std;
string a;                 //定义字符串
int main() 
{cin>>a;               //输入reverse(a.begin(),a.end());  //反转cout<<a;              //输出return 0;             //养成好习惯
}

3

对于数字不要求运算的处理,我们基本都可以使用 字符串 来解决。

那么讲一下基本思路:

首先读入一个字符串(为了方便使用string

接着,获取其长度,即使用 str.size() 的方法,当中 str 是字符串的变量名,这个函数会返回一个值,即字符串的长度

注意,字符串的长度比起他的最大下标(index)是要大 1 的,所以倒序输出是要注意。同理,第一个字符的下标是 0 。

那么代码基本架构出来了,我们看以下代码:

#include<bits/stdc++.h>
using namespace std;
string a;
int main()
{cin>>a;for(int i=a.size()-1;i>=0;i--)cout<<a[i];return 0;
}

利用for循环,整体代码思路比较清晰。

同时,也可以使用字符数组,即char[]类型,但是要注意的是这种方法取得字符串长度的函数是strlen(str)

Python

读取输入:使用input()函数读取用户输入的浮点数,并将其存储为字符串num_str

反转字符串:利用Python字符串切片的特性 [::-1] 对字符串进行反转操作,得到反转后的字符串reversed_str

输出结果:将反转后的字符串转换为浮点数,并使用 print() 函数输出。

# 读取输入的浮点数
num_str = input()
# 反转字符串
reversed_str = num_str[::-1]
# 将反转后的字符串转换为浮点数并输出
print(float(reversed_str))

JAVA

因为是将整体都反转,而不是部分反转,不涉及到0的处理,所以直接读取为字符串,按照单个字符逆序输出即可。

读取字符串中的单个字符(敲黑板)

str.charAt(int);

import java.util.Scanner;
public class p5705 {public static void main(String[] args) {Scanner read = new Scanner(System.in); //实例化ScannerString s = read.next(); //读取for(int x0 = s.length()-1;x0>=0;x0--) { //读取字符串长度,因为是0~(n-1),所以需要-1防止越界。由最后一个到第一个(0)。System.out.print(s.charAt(x0)); //读取单个字符,输出}read.close(); //关闭Scanner}
}

梦想可以大,第一步总是小的!

相关文章:

  • c++回调函数
  • Python 线程安全机制:Lock、RLock、Semaphore 的使用场景与最佳实践
  • PyTorch_创建01张量
  • Java虚拟线程基础介绍
  • 突破认知边界:神经符号AI的未来与元认知挑战
  • JAVA刷题记录: 递归,搜索与回溯
  • 纯Java实现STDIO通信的MCP Server与客户端验证
  • 普通 html 项目引入 tailwindcss
  • Go小技巧易错点100例(二十八)
  • 应用层自定义协议序列与反序列化
  • 数据赋能(209)——质量管理——时效性原则
  • 模型测试报错:有2张显卡但cuda.device_count()显示GPU卡数量只有一张
  • 昇腾的CANN是什么?跟英伟达CUDA的有什么联系和区别?【浅谈版】
  • 智能决策支持系统的系统结构:四库架构与融合范式
  • P1537 数字反转(升级版)详解
  • 【unity游戏开发入门到精通——UGUI】整体控制一个UGUI面板的淡入淡出——CanvasGroup画布组组件的使用
  • 深入探索 AAC 编码原理与 ADTS 格式:音频世界的智慧结晶
  • MCP多智能体消息传递机制(Message Passing Between Agents)
  • 注入内部Bean
  • 数据结构---
  • 移动端网页设计图片/seo顾问阿亮
  • 路由侠怎么做网站映射/seo第三方点击软件
  • 青州网站建设优化推广/seo技巧
  • 阜阳做网站多少钱/百度关键词网站排名优化软件
  • 阿里巴巴怎么做自己的免费网站/淘宝指数查询入口
  • app开发技术路线描述/手机360优化大师官网