题目-C语言 怎么把一个ASCII码的数字在运算中用原来的字表示

问题描述

C语言 怎么把一个ASCII码的数字在运算中用原来的字表示

比如说
char a,b;
a=getchar();
b=getchar();
printf("%d",a+b);
比如说a是3 b是4输出7而不是103+
谢谢谢谢

解决方案

 printf("%d",(a - '0')+(b - '0'));

解决方案二:

printf("%c",a+b);

解决方案三:

如果输入像“1234”这样的串,c语言自带一个atoi()函数可以把它转换为整数1234。
函数原型如下:
int atoi(const char *nptr);
如果是long和float类型,也有相应的函数。

解决方案四:

一楼正解
char可以与整数互用,但是char保留的是对应的ASCII码值,所以你想要用相应的整数表示的话就需要减去多出来的数值,也就是‘0’对应的整数值

解决方案五:

#define buf 9 //buf要小于9,注意Int使用越界溢出

char a[buf],b[buf];
int l = fgets(a,buf,0);
if (a[l-1] == 'n')
a[l-1] = '';
int le = fgets(b,buf,0);
if (b[le-1] == 'n')
a[le-1] = '';
printf("a+b = %dn",atoi(a),atoi(b));
是不是要这样的

时间: 2025-01-20 23:05:54

题目-C语言 怎么把一个ASCII码的数字在运算中用原来的字表示的相关文章

ascii-学汇编的时候有一个ASCII码的问题不懂,求大神指教一番

问题描述 学汇编的时候有一个ASCII码的问题不懂,求大神指教一番 将ASCII码'AB'在内存中的字内容BA(4241H)送AX 这句话是什么意思啊,,求大神指教 解决方案 A的ascii是42H,B是41H,现在把它们拼接成一个word,因为intel是大端字节序,所以b在前,a在后,就是ba.

c#算法-C#处理ASCII码以外数字的MD5码加密怎么办?

问题描述 C#处理ASCII码以外数字的MD5码加密怎么办? 1C 比如C++处理(char)-65MD5加密的时候会得到一组数据,C#在做MD5加密的时候会先将字符串转换成byte[]请问怎么用C#处理这同一个数得到相同的结果??很需要解决 解决方案 看你怎么调用的.如果你有C++代码,会很简单.你可以用Encoding.GetEncode(编码).GetBytes得到字节

ASCII码是什么,ASCII码对照表

ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于拉丁字母的一套电脑编码系统.它主要用于显示现代英语和其他西欧语言.它是现今最通用的单字节编码 系统,并等同于国际标准ISO/IEC 646.以下是ASCII码对照表,希望对大家有所帮助哦! 目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information

常用ASCII 码对照表

目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准.适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式. 因为1位二进制数可以表示(21=)2种状态:0.1:而2位二进制数可以表示(22)=4种状态:00.01.10.11:依次类推,7位二进制数可以表示(27

ASCII码查询表

ASCII码表详解 ASCII码表 ASCII码大致可以分作三部分组成.第一部分是:ASCII非打印控制字符第二部分是:ASCII打印字符:第三部分是:扩展ASCII打印字符 第一部分:ASCII非打印控制字符表 ASCII表上的数字0–31分配给了控制字符,用于控制像打印机等一些外围设备.例如,12代表换页/新页功能.此命令指示打印机跳到下一页的开头.(参详ASCII码表中0-31) 第二部分:ASCII打印字符 数字 32–126 分配给了能在键盘上找到的字符,当您查看或打印文档时就会出现.

ASCII码

看一本书的时候想到的,感觉有点不务正业了,其实我感觉我需要一个全能助手,随时回答我的疑问   ASCII码是用来表示"字符"的.这里的字符包括了0-9九个数字,a-z的26个字母的大小写,各个标点符号,以及回车.空格.退格等一些特殊符号.ASCII 码使用指定的8位二进制数组合来表示,每个ASCII码是一个8位二进制数,一个ASCII码只能表示一个字符. 补码是用来表示带符号数字的.先将十进制数转成相应的二进制数,在最高位前加上0或1代表数字的正负,就产生了数字的原码,再按一定的规则转

printf-c语言ASCII码排序 我的代码哪里有问题?

问题描述 c语言ASCII码排序 我的代码哪里有问题? 描述 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符. 输入 输入数据有多组,每组占一行,有三个字符组成,之间无空格. 输出 对于每组输入数据,输出一行,字符中间用一个空格分开. 样例输入 qwe asd zxc 样例输出 e q w a d s c x z 我的代码是: #include int main() { char a[3],t; while(scanf("%c%c%c",&a[0],&

C语言之将无符号字符型转化为ascii码值

这个宏是在linux内核中获取的,主要的功能是能够将一个无符号字符型的参数转化为ASCII码值. ASCII : ASCII 编码里包括了128个字符.用 十进制 0  到 127 来表示 .那就对了, 0 到 127 不就是 128个字符吗. 每一个数字都代表一个字符.看ASCII 编码表 我们来看看代码: #include <stdio.h> #include <stdlib.h> #define toascii(c) (((unsigned char)(c))&0x7

c语言基础-c语音基础中ASCII码值,转义字符

问题描述 c语音基础中ASCII码值,转义字符 字符常量中字符的ASCII码值,怎么看出来,转义字符ddd,反斜线符""是什么意思 解决方案 C++基础(C++转义字符)C基础-转义字符C/C++的转义字符 解决方案二: 网上有专门的转码小软件的,你可以下一个 解决方案三: printf("%d ",'a');//看字符的ASCII的值 是转义字符标志