1 条题解
-
0
本题其实不算太难,不过需要学到string,即字符串就可以解决问题。 但是,如果只学会string的初步使用方法,而不记一些实用的函数,那么写起代码来也会比较麻烦。
在介绍本题使用的“string库”中的函数前先讲解本题思路: 通过数字的小数部分的长度来判别数据类型, 那么我们只需利用string获得小数部分,便可求解答案。
好了,看一下我们要使用的函数:
// 这是下列函数所需的头文件,它包含了有关string的实用函数 #include <string> // 字符串名称.size(),可以得到该字符串的长度 string str = "I love tuubu!"; int n = str.size(); // 此时 n = 13 cout << n << endl; // 输出 13 // 字符串名称.erase(a, b),可以删除一个字符串中从第 a 个下标算起,连续删除 b 个字符 string str = "I don't love tuubu!"; str.erase(2, 6); // 从下标为 2 的 'd' 连续删除6个字符,即 "don't " cout << str << endl; // 输出 "I love tuubu!"接下来是代码,仅供参考
#include <bits/stdc++.h> using namespace std; int main() { string str; cin >> str; // 处理 str ,使得只保留小数点后的内容 while (str[0] != '.' && str.size() > 0) { // 重复执行直到最前字符为小数点 str.erase(0, 1); // 删除最前字符 } str.erase(0, 1); // 别忘了删除小数点 // 判断数据类型 + 输出 if (str.size() < 7) cout << "float"; else cout << "double"; return 0; }本题解分享到这,如有错误和疑问之处,欢迎指出与探讨。
- 1
信息
- ID
- 824
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 7
- 已通过
- 4
- 上传者