博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
蓝桥杯2016省赛 - A1网友年龄
阅读量:4176 次
发布时间:2019-05-26

本文共 1854 字,大约阅读时间需要 6 分钟。

A1 网友年龄

   某君新认识一网友。当问及年龄时,他的网友说:“我的年龄是个2位数,我比儿子大27岁,如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄”

   请你计算:网友的年龄一共有多少种可能情况?

   首先,2位数:10~99

   其次,比儿子大27岁:27~99(不知道小孩子存不存在0岁这一说法,所以把27岁也算上)

emmmm这确实是一道送分题~

#include 
using namespace std; int main() { int count = 0; for (int i = 27; i < 100; ++i) { int m = i%10; int n = i/10; if (m*10+i == i-27) { count += 1; } } return 0; }

   刚开始一下子把这道题搞麻烦了,还想什么字符串反转……不过捎带学习了下面的知识。

  ①int、string、char*、CString之间的相互转换

   int转string:

   利用stringstream(需包含头文件#include < sstrteam >)
   如:

#include 
#include
using namespace std; int main() { int a = 23; /*将stringsstream作为中间桥梁*/ stringstream ss; ss << a; //将a输出到ss中 string s = ss.str(); //将ss转换为string形式存入s中 /*或者如下所示[其实原理都一样啦]*/ stringstream ss; string str; ss << a; ss >> str; }

   string转int:

   第一种方法,仍然使用stringstream对象;

istringstream iss(str);	int num; 	iss >> num;

   第二种方法,利用已有的函数;

atoi(const char*)			//将字符串转换为int类型 —— 如果 string s 为空,返回值为0。所以要判断s是0还是空!转换后缓冲区溢出,返回 INT_MAX orINT_MIN。	atil(const char*)			//将字符串转换为long int类型 —— 同上	atof(const char*)			//将字符串转换为double类型 —— 成功转换显示一个int类型的值;不可转换的字符串返回0;如果转换后缓冲区溢出,返回HUGE_VAL。

   当然,这也可以看到,上述三个函数要求参数是char数组,所以引出下面的问题。

   string类型转char*数组:
   很简单,c_str()

string s = "abc";	char ss[] = s.c_str();

   char转string:

string s(char*);		//初始化	string &assign(const char *s);		//用c类型字符串s赋值	string &assign(const char *s,int n);		//用c字符串s开始的n个字符赋值

   因为CString在VC++中常用,这里不常用,因此不写啦,附一个较全的链接

  

  ②字符串的反转

   利用已有函数:

#include 
#include
#include
using namespace std; int main() { string s = "hello"; reverse(s.begin(), s.end()); return 0; }

   自己编写:

void Reverse(char* s, int n)	{		for (int i = 0, j = n-1; i < j; ++i, --j)		{			char temp = s[i];			s[i] = [j];			s[j] = temp;		}	}

   仍是利用已有函数:

#include 
char s[] = "hello"; strrev(s);

转载地址:http://dvtai.baihongyu.com/

你可能感兴趣的文章
JavaEE的JSON API规范JSON-P/JSON-B
查看>>
Kubernetes及其Master/Node节点
查看>>
OpenStack Heat简介
查看>>
Kubernetes集群内外的网络连通性
查看>>
TestNG中的@Factory与@DataProvider的执行比较
查看>>
TestNG中在一个test标签中的多个测试类之间共享中间数据的方法
查看>>
TestNG中在一个suite标签中的多个test标签之间共享中间数据的方法
查看>>
Docker容器实例的网络与通信
查看>>
OpenStack的Telemetry Data Collection服务概述
查看>>
iptables及其过滤规则
查看>>
基于iptables的Docker网络隔离与通信详解
查看>>
Linux内核的网络命名空间的概念及常用命令
查看>>
虚拟网络设备及其在Linux网络命名空间中的应用
查看>>
NAT及跨网络命名空间的网络地址转换
查看>>
Docker容器实例通过非默认的网络命名空间访问外部网络
查看>>
RHEL/CentOS 7的FirewallD及其firewall-cmd命令概述
查看>>
RHEL/CentOS 7的kernel tunables及其sysctl命令概述
查看>>
RHEL/CentOS 7中Nginx的systemd service
查看>>
RHEL/CentOS 7的systemd及其systemctl命令概述
查看>>
RHEL/CentOS 7的systemd target及其中的multi-user.target
查看>>