编程之美第三章-3.2-电话号码以及对应的单词

#include<iostream>
#include<string>
using namespace std;
const int max_length=9;
char c[10][10]={

	"",//0
	"",//1
	"ABC",//2
	"DEF",//3
	"GHI",//4
	"JKL",//5
	"MNO",//6
	"PQRS",//7
	"TUV",//8
	"WXYZ",//9
};
int total[10]={0,0,3,3,3,3,3,4,3,4};
int count=0;
int main()
{
	int number[max_length]={2,3,4};
	int answer[max_length]={0};
	int length=3;
	while(true)
	{
		for(int i=0;i<length;++i)
			cout<<c[number[i]][answer[i]]<<" ";
		count++;
		cout<<endl;
		int k=length-1;
		while(k>=0)
		{
			if(answer[k]<total[number[k]]-1)
			{
				answer[k]++;
				break;
			}
			else
			{
				answer[k]=0;
				k--;
			}
		}
		if(k<0)
			break;
	}
	cout<<count<<endl;
	system("pause");
	return 0;
}

时间: 2024-11-08 21:41:16

编程之美第三章-3.2-电话号码以及对应的单词的相关文章

编程之美第三章-字符串移位包含的问题

#include<iostream> #include<string> using namespace std; bool find_str(string s1,string s2) { if(s1.empty()||s2.empty()) return false; string::size_type pos=s1.find(s2); return (pos!=string::npos)?true:false; } int main() { string s1; cin>&

编程之美笔记--第一章游戏之乐--1.2中国象棋将帅问题

后来一版作者又将最后一句改为:”要求在代码中只能使用一个字节存储变量“. 我的解法: package android.zlb.java; /** * * @author zhanglibin * */ public class TestXiangqi { public static void main(String[] args) { for(int i = 11; i < 100; i++) { if(i / 10 % 3 == 1 && (i % 10 == 1 || i % 1

《Java并发编程实战》第三章 对象的共享 读书笔记

一.可见性 什么是可见性? Java线程安全须要防止某个线程正在使用对象状态而还有一个线程在同一时候改动该状态,并且须要确保当一个线程改动了对象的状态后,其它线程能够看到发生的状态变化. 后者就是可见性的描写叙述即多线程能够实时获取其它线程改动后的状态. *** 待补充   两个工人同一时候记录生产产品总数问题 1. 失效数据 可见性出现故障就是其它线程没有获取到改动后的状态,更直观的描写叙述就是其它线程获取到的数据是失效数据. 2. 非原子64位操作 3. 加锁与可见性 比如在一个变量的读取与

[笔记][Java7并发编程实战手册]第三章-线程同步辅助类-概要

[笔记][Java7并发编程实战手册]系列目录 有点着急了,没有太注重质量,自己也没有理解透,从本章起,读书和随笔笔记的质量会更好. 第三章 在本章中,我们将学习: 资源的并发访问控制 资源的多副本的并发访问控制 等待多个并发事件的完成 在集合点的同步 并发阶段任务的运行 并发阶段任务中的阶段交换 并发任务间的数据交换 回顾 在第二章中主要学习了以下接口 synchronized关键字 Lock接口以及实现类,如ReentrantLock.ReentrantReadWriteLock中的Read

Python黑帽编程3.0 第三章 网络接口层攻击基础知识

3.0 第三章 网络接口层攻击基础知识 首先还是要提醒各位同学,在学习本章之前,请认真的学习TCP/IP体系结构的相关知识,本系列教程在这方面只会浅尝辄止. 本节简单概述下OSI七层模型和TCP/IP四层模型之间的对应关系,最后是本章教程需要的几个核心Python模块. 3.0.1 TCP/IP分层模型 国际标准化组织(ISO)在1978年提出了"开放系统互联参考模型",即著名的OSI/RM模型(Open System Interconnection/Reference Model).

《Linux命令行与shell脚本编程大全》 第三章 学习笔记

第三章:基本的bash shell命令 bash程序使用命令行参数来修改所启动shell的类型 参数 描述 -c string 从string中读取命令并处理他们 -r 启动限制性shell,限制用户在默认目录下活动 -i 启动交互性shell,允许用户输入 -s 从标准输入读取命令 环境变量PS1.PS2 PS1:控制默认命令行提示符格式 PS2:控制后续命令行提示符格式   bash shell提示符字符串中使用的特殊字符 字符 描述 \a 报警字符 \d “日 月 年”格式显示的日期 \e

《C#高级编程》【第三章】对象和类型 -- 学习笔记

在看过C++之后,再看C#的面向对象感觉就不难了,只是有一些区别而已. 1.类定义 使用class关键字来声明类,其和C++不同的地方是在大括号之后不需要冒号 class 类名 { //类的内部 } //C++这里有一个冒号,而C#没有 2.类成员 3.字段与属性 首先我们先区分一下C#数据成员中的字段.常量与事件成员.字段.常量是与类的相关变量.事件是类的成员,在发生某些行为时(如:改变类的字段或属性,或进行某种形式的用户交互操作),它可以让对象通知调用方. 那么现在我们在来看看字段与属性,属

编程之美第三题 序列变换tiyi

题意:   给你一个序列  ,  让你改变序列中的所有值,  最后保证序列变成一个绝对递增的序列   ,  也就是每个a[i+1] 〉a[i],   然后有一个消耗为 max | a[i] - b[i]|, 问消耗最小为多少. 题解:  很显然  最大值最小问题,  明显二分,  然后再保证第一个最小的同时  ,  后面的和第一个尽量靠近,  然后就A了    ,  这次编程之美比赛题目确实好水呀, 没sei了! 代码: #include<stdio.h> int n, mark[100000

“AS3.0高级动画编程”学习:第三章等角投影(上)

什么是等角投影(isometric)? 原作者:菩提树下的杨过出处:http://yjmyzz.cnblogs.com 刚接触这个概念时,我也很茫然,百度+google了N天后,找到了一些文章: [转载]等角(斜45度)游戏与数学  ( 原文链接:http://www.javaeye.com/articles/1225) [转载]使用illustrator和正交投影原理以及基本三视图制图   (http://www.vanqy.cn/index.php/2009/03/working-with-