大数相加 面试题
2016-06-14 01:22
267 查看
最近在准备面试,所以做了一些公司的面试题,看到一个大数相加的题目,感觉挺有意思,就实现一下:
不说废话,直接看代码:
#include <iostream>
#define N 20
using namespace std;
void AddBig(char a[],char b[],char c[]);
void main()
{
char a
= "90999";
char b
= "9999999";
char c[N + 1];
AddBig(a, b, c);
}
void AddBig(char a[], char b[], char c[])
{
int s1
= {0};
int s2
= {0};
int s3
= {0};
int len1 = strlen(a);
int len2 = strlen(b);
for (int i = 0; i < len1;i++)
{
s1[N - len1+i] = a[i]-'0';
int t = 0;
}
for (int i = 0; i < len2; i++)
{
s2[N- len2+i] = b[i] - '0';
}
int Temp[N + 1] = { 0 };
for (int i = 0; i < N;i++)
{
int temp = s1[i] + s2[i];
if (temp>9)
{
Temp[i] = 1;
s3[i] = temp - 10;
}
else
{
Temp[i] = 0;
s3[i] = temp;
}
}
for (int i = N - 1; i >= 0;i--)
{
int tValue = s3[i] + Temp[i + 1];
if (tValue > 9)
{
s3[i] = tValue - 10;
Temp[i] += 1;
}
else
s3[i] = tValue;
}
int index = 0;
for (int i = 0; i < N;i++)
{
if (s3[i]!=0)
{
break;
}
index++;
}
for (int i = index; i < N;i++)
{
c[i] = s3[i] + '0';
cout << c[i] << " ";
}
}
虽说题上要求使用纯c来实现,不过为了方便,在输出的时候采用了iostream
不说废话,直接看代码:
#include <iostream>
#define N 20
using namespace std;
void AddBig(char a[],char b[],char c[]);
void main()
{
char a
= "90999";
char b
= "9999999";
char c[N + 1];
AddBig(a, b, c);
}
void AddBig(char a[], char b[], char c[])
{
int s1
= {0};
int s2
= {0};
int s3
= {0};
int len1 = strlen(a);
int len2 = strlen(b);
for (int i = 0; i < len1;i++)
{
s1[N - len1+i] = a[i]-'0';
int t = 0;
}
for (int i = 0; i < len2; i++)
{
s2[N- len2+i] = b[i] - '0';
}
int Temp[N + 1] = { 0 };
for (int i = 0; i < N;i++)
{
int temp = s1[i] + s2[i];
if (temp>9)
{
Temp[i] = 1;
s3[i] = temp - 10;
}
else
{
Temp[i] = 0;
s3[i] = temp;
}
}
for (int i = N - 1; i >= 0;i--)
{
int tValue = s3[i] + Temp[i + 1];
if (tValue > 9)
{
s3[i] = tValue - 10;
Temp[i] += 1;
}
else
s3[i] = tValue;
}
int index = 0;
for (int i = 0; i < N;i++)
{
if (s3[i]!=0)
{
break;
}
index++;
}
for (int i = index; i < N;i++)
{
c[i] = s3[i] + '0';
cout << c[i] << " ";
}
}
虽说题上要求使用纯c来实现,不过为了方便,在输出的时候采用了iostream
相关文章推荐
- 一个关于if else容易迷惑的问题
- Linux C函数参考手册(PDF版)
- C# partial关键字说明
- Lua教程(十七):C API简介
- 简单谈谈lua和c的交互
- C#用链式方法表达循环嵌套
- 一道sql面试题附答案
- C# 超高面试题收集整理
- C#中的委托数据类型简介
- C#编写的艺术字类实例代码
- C#实现打造气泡屏幕保护效果
- 举例讲解C#编程中委托的实例化使用
- 使用C#代码获取存储过程返回值
- C和指针小结(推荐)
- C++中explict关键字用法
- C/C++数据对齐详细解析
- 利用C语言来求最大连续子序列乘积的方法
- 字符串的组合算法问题的C语言实现攻略
- C 语言基础教程(我的C之旅开始了)[三]