c语言里,输入一个字符,输出一个数字该怎么写?

比如
输入A或者a,输出4

1、首先需要知道字符本来就是用ascII码储存的,所以需要函数转换。打开VS。

2、输入一段转换代码。

3、红色方框内,将变量定义为char类型,然后输出的时候输出为%d(ASII码)。

4、写好代码后按下F7或者依次选择构建-组建,等待结果如果所示即可。如果出现1 error,表示代码出错,具体错误可根据提示排除。

5、按下Ctrl+F5执行程序,也可以选择构建-执行,运行代码,如此a b转换为97 98。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-02

若想输入一个字符,输出一个对应的数字,则要先建立字符与数字的对应关系,一般采用数组来实现。

简单的方法是用数组下标来表示字符,用数组元素值来表示数字,参考代码如下:

#include <stdio.h>
void main()
{
    const int arr[5]={4,3,2,1,0}; //建立一个A-Z的映射关系表,A-4,B-3,C-2...
    char ch ;
    printf("input char:");
    ch=getchar();
    if ( ch >='a' && ch <='z' )
        ch += 'A'-'a' ; //小写转成大写,即:下面的判断全按大写字母检查
    if ( ch <'A' || ch > 'E' ) //安全检查
        printf("input error!\n");
    else
        printf("%c = %d\n", ch, arr[ch-'A'] ); //显示对应的数据
}

运行结果:

input char:B

B = 3

input char:b

B = 3

第2个回答  2011-10-31
这个是最简单的
#include<stido.h>
int main()
{
char a;
printf("请输入你字符,按enter健结束\n:");
scanf("%c",&a);
sprintf("%d",a);
return 0;
}
第3个回答  2011-10-31
A的ascii码是65,a的ascii码是97
数字0-9的ascii码是48-57,做相应的减法就行啦
然后printf(“%d”),整型打印追问

1. 怎么判断A和a不同的ascii码都输出4?
2.怎么把字符转换成ascii,求详细

追答

字符型运行加减法的时候,就是用ascii运算
A-13 = 52(4的ascii码)
a-45 = 52(4的ascii码)
printf(“%c”,A-13); 字符型输出

第4个回答  2011-10-31
字符A就是‘A’ 数字4直接输就好了追问

我的意思是,判断输入的字符,然后输出相对的数字,比如:
输入A或者a,输出4
输入B或者b,输出3
这样

追答

char n;
if(n=='A'||n=='A')
cout<<"4";

本回答被提问者采纳
相似回答