码迷,mamicode.com
首页 > 其他好文 > 详细

A+B

时间:2018-02-09 20:27:56      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:char   范围   ima   info   pos   16px   ==   字符串   i++   

题目截图:

技术分享图片

 

 

思路:

  32 位系统下 int 的范围为:-2^31 ~ 2^31 - 1,因此只需将字符串转化为相应的整数然后进行加法运算即可。

 

代码如下:

 1 /*
 2     A+B
 3 */
 4 
 5 #include <stdio.h>
 6 #include <string.h>
 7 #include <math.h>
 8 #include <stdlib.h>
 9 #include <time.h>
10 #include <stdbool.h>
11 
12 char A[15], B[15];                    // 存储两个输入的字符串 
13 
14 // 将字符串转化为整数 
15 int chartoint(char str[]) {
16     int len = strlen(str);            // 字符长度 
17     int flag, i=0, ans=0;            // flag用来表示正负,ans用来存储正整数 
18     if(str[0] == -) {                // 若为负 
19         flag = -1;
20         i++;                        // 从第二个字符开始处理 
21     } else {
22         flag = 1;
23     }
24     for(; i<len; ++i) {                // 提取数字 
25         if(str[i]>=0 && str[i]<=9) {
26             ans = ans*10 + (str[i]-0);
27         }
28     }
29     return flag*ans;                // 加上正负即是所求的整数 
30 }
31 
32 int main() {
33     while(scanf("%s %s", A, B) != EOF) {
34         int ta = chartoint(A);        // 字符串转换成整数 
35         int tb = chartoint(B);
36         printf("%d\n", ta+tb);        // 输出 A+B 
37     }
38 
39     return 0;
40 }

 

A+B

标签:char   范围   ima   info   pos   16px   ==   字符串   i++   

原文地址:https://www.cnblogs.com/coderJiebao/p/HustTest18.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!