华为题目(多进制数的计算)。。。2014.5.8
来源:互联网 发布:沈阳沐洋软件 编辑:程序博客网 时间:2024/06/10 16:55
二师弟的星际加法
描述:
我是网络公司的一名普通程序员,英文名Steven,发音比较像“师弟”,
自从入职培训自我介绍后,大家就称我为“二师弟”,我喜欢看科幻小说,
也喜欢做梦,有一次梦到外星球,发现外星人使用的并非10进制/16进制等,
有些星球居然使用N进制(据统计N都在2~35之间),现在我们将首先给您一个数字表示N进制,
然后给出两个数字的字符串,请算出其求和结果并输出,如果输入不能正常计算则输出-1。
说明:
1:数字的字符串其中包括0-9和a-z(表示10-35)。
2:所有的输入和输出都只会是小写字母或数字,不存在其他字符。
运行时间限制: 无限制
内存限制: 无限制
输入: 整形数:计算进制
字符串:计算数1
字符串:计算数2
输出: 字符串:计算结果
样例输入: 10
100
100
描述:
我是网络公司的一名普通程序员,英文名Steven,发音比较像“师弟”,
自从入职培训自我介绍后,大家就称我为“二师弟”,我喜欢看科幻小说,
也喜欢做梦,有一次梦到外星球,发现外星人使用的并非10进制/16进制等,
有些星球居然使用N进制(据统计N都在2~35之间),现在我们将首先给您一个数字表示N进制,
然后给出两个数字的字符串,请算出其求和结果并输出,如果输入不能正常计算则输出-1。
说明:
1:数字的字符串其中包括0-9和a-z(表示10-35)。
2:所有的输入和输出都只会是小写字母或数字,不存在其他字符。
运行时间限制: 无限制
内存限制: 无限制
输入: 整形数:计算进制
字符串:计算数1
字符串:计算数2
输出: 字符串:计算结果
样例输入: 10
100
100
样例输出: 200
#ifndef _CHAR_INT_#define _CHAR_INT_#include<STDLIB.H>"char_int.h"#include <STDIO.H>#include<STRING.H>#define M 100char char_int(int a);#endif
#include "char_int.h"int main(){int N;char A[M];char B[M];char C[M];int a[M],length_a;int b[M],length_b;int c[M],length_c;int i;/*输入*/printf("please Enter the number of Decimal:\n");scanf("%d",&N);fflush(stdin);printf("please Enter The string1:\n");gets(A);fflush(stdin);length_a=strlen(A);printf("please Enter The string2:\n");gets(B);length_b=strlen(B);fflush(stdin); /*处理*//*将A中的字符都变成相对应的数字*/for(i=0;i<length_a;i++){a[i]=(int)(A[length_a-1-i]);if(a[i]>=48&&a[i]<=57)a[i]=a[i]-48;else a[i]=a[i]-87;if(a[i]>=N)return printf("-1 \n");}/*将B中的字符都变成相对应的数字*/for(i=0;i<length_b;i++){b[i]=(int)B[length_b-1-i];if(b[i]>=48&&b[i]<=57)b[i]=b[i]-48;elseb[i]=b[i]-87;if(b[i]>=N)return printf("-1 \n");}/*将A与B相加后所得的结果放在C中*/if(length_a>=length_b){for(i=length_b;i<length_a;i++)b[i]=0;for(i=0;i<length_a+1;i++)c[i]=0;for(i=0;i<length_a;i++){c[i]=a[i]+b[i]+c[i];if(c[i]>=N){c[i+1]=1;c[i]=c[i]-N;}}if(c[length_a]==0)length_c=length_a;elselength_c=length_a+1;}else{for(i=length_a;i<length_b;i++)a[i]=0;for(i=0;i<length_b+1;i++)c[i]=0;for(i=0;i<length_b;i++){c[i]=a[i]+b[i]+c[i];if(c[i]>=N){c[i+1]=1;c[i]=c[i]-N;}}if(c[length_b]==0)length_c=length_b;elselength_c=length_b+1;}for(i=0;i<length_c;i++)C[i]=char_int(c[length_c-1-i]);for(i=0;i<length_c;i++)printf("%c ",C[i]);printf("\n");return 0;}
#include "char_int.h"/******************************************************将char型的字符转成相对应的10进制数字******************************************************/char char_int(int a){char b;if(a>=0&&a<=9)b=(char)(a+48);elseb=(char)(a+87);return b;}
0 0
- 华为题目(多进制数的计算)。。。2014.5.8
- 计算字符串最后一个单词的长度,单词以空格隔开。(华为在线编程题目)
- 华为机试较难的题目
- 计算字符个数 ---华为笔试题目
- 华为题目(四则运算)
- 华为OJ(计算字符串的距离)
- 华为的云计算
- 华为的云计算
- 华为面试的一道题目
- 华为的一道笔试题目
- 【华为】2013校招机试的题目
- 一道华为的面试题目
- 华为题目1...2014.5.1
- 华为题目4。。。2014.5.3
- 华为题目(图书名的动态加入与搜索)。。。2014.5.7
- 华为OJ题目(六):名字的漂亮度
- 计算几何的题目
- 华为题目(寻找是否存在路径问题)。。。2014.5.9
- ubuntu12.04 安装Eclipse
- Python 模块学习 logging(2)
- 一篇不错的Hadoop介绍
- hdu 4651 Partition (利用五边形定理求解分割数)
- spoj 61 Brackets(线段树)
- 华为题目(多进制数的计算)。。。2014.5.8
- 3.8-编程之美-求二叉树中节点的最大距离
- 基于ZooKeeper的Dubbo注册中心
- InvocationHandler中invoke()方法的调用问题
- 如何让AlertDialog 在点击确定或者取消时不消失
- Python 模块学习 logging(1)
- Web Sql Database 初探
- 编程之美-寻找发帖“水王”
- java中常用的数据加密算法