C语言输入两个数字字符,求其所代表的数之和

如题所述

在C语言中,可以使用 scanf() 函数接受输入,然后将字符转换为对应的数字,最后计算两个数字之和即可。

下面是一段实现该功能的示例代码:

#include <stdio.h>

int main() {
char c1, c2;
int num1, num2, sum;

printf("请输入两个数字字符:\n");
scanf("%c %c", &c1, &c2);

// 将字符转换为整数
num1 = c1 - ''; // ASCII 码中 '' 的值为 48
num2 = c2 - '';

// 计算两个数字之和
sum = num1 + num2;

printf("两个数字之和为:%d\n", sum);

return ;
}

在示例代码中,首先定义两个字符变量 c1 和 c2,分别表示用户输入的两个数字字符;然后定义两个整型变量 num1 和 num2,分别存储将字符转换后得到的数值;最后定义 sum 变量存储两数之和,并将结果输出到控制台。

在字符转换的部分,用字符的 ASCII 码值减去字符 '' 的 ASCII 码值(即48),可以得到对应的数字。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-11

#include<stdio.h>

#include<stdlib.h> 

#include<string.h>

int main(void)

{

char *a,*b;

int sum,sum1;

a=(char*)malloc(sizeof(char));

b=(char*)malloc(sizeof(char));

scanf("%c %c",a,b);

sum=atoi(a)+atoi(b);

sum1=*a+*b;

printf("进过转换得到的两数之和为:%d\n未经过转换的两数之和为两字符的ASICS码之和:%d\n",sum,sum1);

free(a);

free(b);

return 0;

}

 

本回答被提问者采纳
第2个回答  2013-03-11
int fum(char a,char b)
{
return (a-'0')+(b-'0');
}

C语言输入两个数字字符,求其所代表的数之和
int num1, num2, sum;printf("请输入两个数字字符:\\n");scanf("%c %c", &c1, &c2);\/\/ 将字符转换为整数 num1 = c1 - ''; \/\/ ASCII 码中 '' 的值为 48 num2 = c2 - '';\/\/ 计算两个数字之和 sum = num1 + num2;printf("两个数字之和为:%d\\n", sum);return ;...

从键盘输入两个数,输出其和。
C语言从键盘出入两个整数,求其和,可以参考下面的代码:include<stdio.h> int main(){ int a1, a2;printf("请输入两个整数:");\/\/输入以空格间隔 回车结束 scanf_s("%d %d", &a1, &a2);printf("%d+%d=%d\\n", a1, a2, a1 + a2);return 0;} ...

C语言:输入a,b两个数求其和
return 0;}

C语言写函数fun求一个整数的逆序数,在main中输入两个整数,求其逆序数之...
printf("请输入两个整数:");scanf("%d%d",&x,&y);sum=fun(x)+fun(y); %因为fun()函数有返回值,这里相当于将两个返回值相加 printf("sum=%d\\n",sum);} int fun(int num){ int a,b; %定义 a,b变量 a=0;while (num!=0) %判断循环的结束条件 此处num以两位数为例 ...

c语言,下面程序为从键盘上输入两个整数m和n,求其最大公约数和最小公倍...
include<stdio.h> main(){ int a,b,num1,num2,temp;scanf("%d,%d",&num1,&num2);if( num1<num2){ temp=num1;num1=num2;num2=temp;} a=num1;b=num2;while(b!=0){ temp=a%b;a=b;b=temp;} printf("%d,%d",a,num1*num2\/a);getch();} ...

C语言编程:输入两个正整数m和n,求其最大公约数和最小公倍数,急!急!
main(){ int p,r,n,m,temp;printf("Please enter 2 numbers n,m:");scanf("%d,%d",&n,&m);\/\/输入两个正整数.if(n<m)\/\/把大数放在n中,把小数放在m中.{temp=n;n=m;m=temp;} p=n*m;\/\/P是原来两个数n,m的乘积.while(m!=0)\/\/求两个数n,m的最大公约数.{ r=n%m;n=...

【C语言】 输入两个正整数m和n,求其最大公约数(GCD)和最小公倍数(LCM...
int main(){ int m, n;int m_cup, n_cup, res; \/*被除数, 除数, 余数*\/ printf("Enter two integer:\\n");scanf("%d %d", &m, &n);if (m > 0 && n >0){ m_cup = m;n_cup = n;res = m_cup % n_cup;while (res != 0){ m_cup = n_cup;n_cup = res;res...

c语言...
printf("gongbeishu:%d\\n",num1*num2\/a);}【程序10】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。1.程序分析:利用while语句,条件为输入的字符不为'\\n'. 2.程序源代码:#include "stdio.h"main(){char c; int letters=0,space=0,digit=0,others=0; printf("please input...

C语言编程,输入2个实数,求它们的平均值。
C语言编程,输入2个实数,求它们的平均值。#include <stdio.h>int main(){ double a, b, avg; scanf("%lf %lf",&a, &b); avg=(a+b)/2; printf("avg=%lf\n",avg);

C语言:输入n个数,求其最大数、最小数和平均值。
先使用宏定义一个常熟N,表示数组大小,用来存放输入的数据,方便修改。定义一个数组a[]存放数据,通过scanf函数输入数据,先给min、max赋a[0]的值,再依次将数组中的值与之比较,比min小的赋值给min,比max大的赋值给max;sum存放数据累加值,除数组长度N得到·平均值。已...

相似回答