| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 1144 人关注过本帖
标题:设计一个程序,该程序的功能是从键盘输入一个数字字符,将该字符转换为对应 ...
只看楼主 加入收藏
ab1412
Rank: 7Rank: 7Rank: 7
来 自:M78星球
等 级:黑侠
威 望:4
帖 子:103
专家分:537
注 册:2018-3-15
结帖率:100%
  已结贴   问题点数:10  回复次数:3   
设计一个程序,该程序的功能是从键盘输入一个数字字符,将该字符转换为对应的数值输出。例如输入’3’,输出整型数值3。
程序代码:
#include<stdio.h>
int main()
{
    char  chdigit;
    int  intdigit;
    printf("Please input an digital character:");
    scanf("%c",&chdigit);
    intdigit=chdigit-48;    //将数字字符变为数值数字
    printf("intdigit is %d\n", intdigit);
    return 0;
}

emmm这是我自己写的...虽然输出是对的,但是我感觉是恰巧正确的....所以求大神帮忙看看对不对,刚学C...
2018-03-15 22:16
hailong2012
Rank: 2
等 级:论坛游民
威 望:1
帖 子:7
专家分:19
注 册:2018-3-12
  得分:3 
用下面代码试试:
程序代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    char  chdigit[1];
    int  intdigit;
    printf("Please input an digital character:");
    scanf("%s",chdigit);
    intdigit=atoi(chdigit);   //atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数
    printf("intdigit is %d\n", intdigit);
    return 0;
}

2018-03-15 22:55
licdut
Rank: 1
等 级:新手上路
帖 子:1
专家分:4
注 册:2018-3-15
  得分:4 
你那不是恰巧,而是一种正常的计算方式。C语言中将字符按其ASCII编码存放。因为ASCII表中,所有数字相邻排列,一个数字字符减去'0'就得到它的数值值,而'0'的ASCII码就是你减的48!所以,你的算法是正确的。
2018-03-15 23:21
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
  得分:3 
参考ascii码表。你就明白了。

普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2018-03-16 01:28







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

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