CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

数组问题,100分相赠!

楼主lfzheng()2003-06-03 00:35:17 在 C/C++ / C语言 提问

想要实现这样的功能:  
  char   a[10],b[10],   c[10],...z[10];    
  char   sz;  
   
  cin   >>   sz;  
  //如果sz=   a,输出a[0],如果sz=b,输出b[0],....  
  sz:a   ->a[0];  
        b   ->b[0];  
        ...  
        z   ->z[0]  
   
  能不能不用case或if语句,只要sz输入范围在a~z之间,直接输出sz[0]?  
   
  我知道这个办法是错误的,但是由于我的程序中,类似这样的情况很多,如果都用if或case语句来判断的话,感觉很土,有没有哪个高人能够  
   
  有好的数据结构解决这样的问题?  
  谢了先!  
  问题点数:100、回复次数:5Top

1 楼steedhorse(晨星)回复于 2003-06-03 00:42:46 得分 30

char   a[10],b[10],   c[10],...z[10];    
  char   sz;  
  char   s[26]   =   {a[0]   ,   b[0]   ,   c[0]   ,   d[0]   ,   ……   ,   z[0]};  
  cin   >>   sz;  
  cout   <<   s[sz   -   'a'];Top

2 楼bigtea(企鹅)回复于 2003-06-03 08:38:08 得分 20

 
  char   a[10],b[10],   c[10],...z[10];  
  char   sz;  
  char   s[26][10];  
  cin   >>   sz;  
  cout   <<a[10]<<   s[sz   -   'a'][10];Top

3 楼justaseeker(MS)回复于 2003-06-03 11:12:48 得分 20

char   a[26][10];//定义为一个二维数组  
  char   sz;  
  cin>>sz;  
  cout<<a[sz-'a'][0];//利用二进制码差来求Top

4 楼gernal_dn()回复于 2003-06-03 11:50:31 得分 10

二维数组  
  Top

5 楼flab_lwq()回复于 2003-06-03 12:09:58 得分 20

上面的方法都不错,不过最好把得到的输入都变成小写  
  cin   >>   sz;  
  sz   =   tolower(sz);  
  Top

相关问题

  • 数组可以相加吗
  • byte数组 与 char数组 互相转换问题?
  • 如何快速相加数组?
  • string和byte数组的相互转换~~
  • 两个byte数组如何相加???
  • 急问: JavaScript怎么算一个数组相对另一个数组的补集?
  • 数组
  • 数组
  • 数组??
  • 数组

关键词

  • sz
  • 输出
  • cout
  • char

得分解答快速导航

  • 帖主:lfzheng
  • steedhorse
  • bigtea
  • justaseeker
  • gernal_dn
  • flab_lwq

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo