字符串~键盘错位

本文探讨了字符键位映射及其在C/C++编程中的应用,通过实例展示了如何利用常量数组实现字符串处理,特别适用于处理特定字符序列的转换与映射问题。文章还对比了C和C++风格的实现方式,并提供了简洁高效的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
     

 
      
 1 //------------C_Style-----------------
 2 
 3 #include<stdio.h>
 4 
 5 void main()
 6 {
 7     char *str = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";
 8     int c;
 9     printf("Enter a string(Ctr+Z to end):\n");
10     while((c = getchar()) != EOF)
11     {
12         for(int ix = 1; str[ix] && str[ix] != c; ++ix);
13             if(str[ix])
14                 putchar(str[ix-1]);
15             else
16                 putchar(c);
17     }
18 }
 1 //------------C++_Style-----------------
 2 
 3 #include<iostream>
 4 #include<string>
 5 using namespace std;
 6 
 7 string str = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";
 8 void main()
 9 {
10     string s;
11     cout << "Enter a string(Ctr+Z to end):" << endl;
12     getline(cin, s);
13     for(string::size_type ix = 0; ix != s.size(); ++ix)
14     {
15         string::size_type index = 1;
16         for(; index != str.size() && str[index] != s[ix]; ++index);
17         if(index != str.size())
18             s[ix] = str[index-1];
19     }
20     cout << s << endl;
21 }
/*
比较以上两个代码,对于这类低级的题目C字符串风格char给适合写……
另外,对于小规模的题目,可以使用本题的常量数组,把所有可能情况都列出来,与问题相比较处理,这样更简洁……
*/
posted on 2012-11-07 19:38 桑海 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/sanghai/archive/2012/11/07/2759358.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值