wertyu(简单的字符串处理问题)

把手放在键盘上时有敲错的可能,输入一个错位后的敲出的字符串,输出打字员本来想打出的句子。

样例输入:O S, GOMR YPFSU/

样例输出:I AM FINE TODAY.

代码如下:

#include<stdio.h>
char *s="`1234567890-=QWERTYUIOP[]/ASDFGHJKL;'ZXCVBNM,./";
int main()
{
	int i;
	char c;
	while((c=getchar())!=EOF)
	{
		for(i=1;s[i]&&s[i]!=c;i++);
		if(s[i])
		putchar(s[i-1]);
		else
		putchar(c);
	}
	return 0;
} 
时间: 2024-11-12 13:53:00

wertyu(简单的字符串处理问题)的相关文章

ZOJ 1115 Digital Roots(简单,字符串与数)

题目 //好一道水水题,可是我居然也错了那么多次,后来百度来发现是因为数据数位可能很长很长,要用字符串数组... //简单 //有坑啊——数据可能很大很大,要用字符串表示! #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int main() { char s[1010]; while(scanf("%s",s)!=EOF) { if(strc

简单计算字符串的高度

计算字符串的高度有很多种,这里写下最常用的简单计算字符串的高度 // // NSString+NSStringExt.h // UIFontSize // // Created by mac on 15/11/14. // Copyright (c) 2015年 叶炯. All rights reserved. // #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface NSString (NSSt

简单操作字符串

使用javascript实现常用的字符串操作. 一,字符串按逗号分割装入数组,使用split()函数可以实现. var str=",,,,,,,,,,,abc,123,4cc,569,dfk,,,,,,,,"; function goArray(str){ var arr=[]; var s=""; var j=0; for(var i=0;i<str.length;i++){ if(str.charAt(i)!=','&&i!=str.len

Redis数据结构(一)简单动态字符串

Redis的字符串采用的是自定义的struct,名字叫做简单动态字符串(simple dynamic string,SDS). 结构如下: struct sdshdr{ int len; int free; char buf[]; }; 采用如此结构的好处是: [1]获取length的时候复杂度为O(1),不需要O(n): [2]动态分配空间,避免缓冲区溢出,避免每次修改或者append都重新分配: [3]二进制安全: 关于第一点显而易见,第二点,为了减少修改字符串带来的内存重分配次数,redi

自已动手写Redis【简单动态字符串序列一】

第一章 简单动态字符串 2.1 引言 字符串String是程序设计中最为常见的一种数据结构,也是最为重要的一种数据结构,Hello World!这个最为精典的程序,是绝大部份人学习一种程序设计语言的入门程序,在这个最为精典的入门程序中,Hello World!就是字符串类型,字符串可以用于软件中信息的提醒.保存等,Redis中key都是String类型的,因此了解String类型对于我们了解Redis以及动手写Redis都是非常有益的. 2.2 字符串基本概念 以上是我们最为熟悉的Hello W

shell中简单的字符串操作

在SHELL编程中,经常要处理一些字符串变量.比如,计算长度啊.截取子串啊.字符替换啊等等,常常要用到awk.expr.sed.tr等命令.下面给大家介绍个简单的字符串处理方法,用不着嵌套复杂的子命令. ${#VALUE}:计算VALUE字符串的字符数量. ${VALUE%.*}或${VALUE%%.*}:删除VALUE字符串中以分隔符"."匹配的左边字符,保留右边字符. ${VALUE#*.}或${VALUE##*.}:删除VALUE字符串中以分隔符"."匹配的右

Redis源码解析01: 简单动态字符串SDS

Redis没有直接使用C字符串(以'\0'结尾的字符数组),而是构建了一种名为简单动态字符串( simple  dynamic  string, SDS)的抽象类型,SDS设计API实现对字符串的各种修改. 1:SDS的定义 在sds.h中,定义了结构体sdshdr表示SDS,其定义如下: struct sdshdr { unsigned int len; unsigned int free; char buf[]; }; len记录SDS保存的字符串的长度(不包括末尾的'\0'):free记录

redis 简单动态字符串 SDS

redis 没有直接使用c语言传统的字符串表示,而是自己构建了简单动态字符串(SDS)的抽象类型,并将SDS用作redis的默认字符串表示 redis的数据库里面,包含字符串值的键值对在底层都是SDS实现的 执行 rpush fruits "apple" "banana" "pits" 那么redis将在数据库中创建一个新的键值对,其中: 1.键值对的键是一个字符串对象,对象的底层实现是一个保存了字符串的fruits的SDS 2.键值对的值是一个

Redis数据结构之简单动态字符串

Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符数组), 而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型, 并将SDS用作Redis的默认字符串表示.在Redis中,C字符串只会作为字符串字面量,用在一些无需对字符串值进行修改的地方,例如打印日志. 一.SDS的结构定义 示例: 二.SDS与C字符串的区别1. 常数复杂度获取字符串长度C字符串长度计算:遍历整个字符串直至遇到代表字符串结尾的空字符,时间复杂度为O(N).SDS长