| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 24829 人关注过本帖
标题:从键盘接收一个字符,如果是字母,输出其对应的ASCII码,如果是数字,按原样输入 ...
只看楼主 加入收藏
azraelyo
Rank: 1
来 自:四川
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-10-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
从键盘接收一个字符,如果是字母,输出其对应的ASCII码,如果是数字,按原样输入,否则
上面是题目,用选择结构写,,,,,,,我刚学,还不太好,不知道怎么用if语句判断输入的是不是字母。
搜索更多相关主题的帖子: 键盘 字母 
2015-10-26 22:37
Spy001
Rank: 9Rank: 9Rank: 9
来 自:山那边
等 级:贵宾
威 望:10
帖 子:138
专家分:1360
注 册:2015-1-23
收藏
得分:8 
#include<stdio.h>
main()
{
    char ZiFu;                             //定义字符型变量
    printf("请输入字符:");
    scanf("%c",&cZiFu);                     //获取变量ZiFu的值
    if(cZiFu>='A'&&cZiFu<='z')             //判断ZiFu是否为字母
    printf("字符%c的ACSII码为:%d\n",ZiFu);                 //输出字母的ASCII码值  
    else if(ZiFu>='0'&&ZiFu<='9')             //判断cZiFu是否为数字
    printf("数字为:%d\n",ZiFu);                         //原样输出数字字符
    else                                     //否则输出错误
    printf("输入错误,请重新输入!");

}


千百年之后,谁又还记得谁........
2015-10-26 23:31
醒来的羔羊
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-10-24
收藏
得分:0 
怎么发表论坛帖子啊   特生气啊
2015-10-26 23:55
azraelyo
Rank: 1
来 自:四川
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-10-26
收藏
得分:0 
回复 2楼 Spy001
万分感谢

我总是在最深的绝望里遇见最美的惊喜!
2015-10-28 20:35
azraelyo
Rank: 1
来 自:四川
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-10-26
收藏
得分:0 
回复 3楼 醒来的羔羊
在左上角有个发表文章

[此贴子已经被作者于2015-10-28 20:51编辑过]


我总是在最深的绝望里遇见最美的惊喜!
2015-10-28 20:36
azraelyo
Rank: 1
来 自:四川
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-10-26
收藏
得分:0 
回复 2楼 Spy001
图片附件: 游客没有浏览图片的权限,请 登录注册
不对啊

我总是在最深的绝望里遇见最美的惊喜!
2015-10-28 20:45
醒来的羔羊
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-10-24
收藏
得分:0 
回复 5楼 azraelyo
谢谢
2015-10-29 22:40
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:12 
回复 6楼 azraelyo
原因很简单,因为楼主输进去测试的是一个两位数字!!
而程序测试的时候他只是作为一个字符来理解的。你输进去的二十五,他没读到,

要么你把输入的字符限定为一次输入一个字符,这样就不会出现错误了。要不,,,完善程序,或者,重写

[此贴子已经被作者于2015-10-30 16:52编辑过]


φ(゜▽゜*)♪
2015-10-30 16:51
xxhuan_2003
Rank: 1
等 级:新手上路
威 望:1
帖 子:10
专家分:6
注 册:2015-10-27
收藏
得分:0 

 printf("数字为:%d\n",ZiFu); ===> printf("数字为:%c\n",ZiFu);

另外if(cZiFu>='A'&&cZiFu<='z')             //判断ZiFu是否为字母
这个不严谨的;
要写为if((cZiFu>='A' && cZiFu <='Z')||(cZiFu>='a' && cZiFu <='z')),因为中间A~z中间是有部分符号的,例如"["
2015-10-30 21:51
Joicy
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-4-17
收藏
得分:0 
回复 2楼 Spy001
这个是错的啊 输A得到的都是0
2017-04-17 11:48
快速回复:从键盘接收一个字符,如果是字母,输出其对应的ASCII码,如果是数字,按原 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026869 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved