OJ题目-使用+-|等符号表示数字,进行运算【C语言】
为什么80%的码农都做不了架构师?>>>
如上,输入两个数字,最后会输出这两个数字的和
代码如下:
#include <iostream>
#include<stdio.h>
using namespace std;
#define space -2
#define error -1int a, b; //加数与被加数
int c;
char tmp[5][3];//装一个数字模型的数组
char Nums[10][5][3]; //建立模型
char InputNums[5][100];char OutputNums[5][100];
int out_p = 0;void write(int i);
int getNum(char tmp[5][3]);
void InitNums();int main()
{InitNums();//输入数字int i=0;int j=0;
// //初始化OutputNums
// for(i=0;i<5;i++)
// {
// for(j=0; j<100;j++)
// {
// OutputNums[i][j] = ' ';
// }
// }/*输入符号*/for(i=0; i<5; i++){gets(InputNums[j++]);fflush(stdin);}/*获得加数*/int flag = 0;bool x = true;i=0;int m,n;//获得tmp使用int tmps;//临时变量while(x){if(InputNums[0][i] == '+' || InputNums[0][i+1] == '-' || InputNums[0][i+2] == '+'){/*存入一个tmp*/for(m=0;m<5;m++){for(n=0; n<3;n++){tmp[m][n] = InputNums[m][n+i];}}tmps = getNum(tmp);if(a == 0)a = tmps;else{a = a*10+tmps;}i+=4;}else{i+=4;flag++;if(flag == 2)break;b =a;a =0;}}// printf("%d %d %d\n", a+b, a , b);/*求出结果*/int rs = a+b;int rs_s = 0;
// rs_s = rs%10;
// rs = rs/10;while(rs != 0){rs_s = rs%10;rs = rs/10;write(rs_s);}/*把结果用符号表示出来*/int fuck;for(i=0; i<5; i++){flag=1;for(j=out_p-1; j>=0; j-=4){for(fuck=j-4; fuck<j; fuck++){if(flag != 1)printf("%c", OutputNums[i][fuck]);elseflag++;}}printf("\n");}
}
int getNum(char tmp[5][3])
{int i=0;int j,k;int flag; //标志for(i=0; i<10;i++){flag=1;if(tmp[0][2] == ' ')return space;for(j=0;j<5;j++){for(k=0; k<3; k++){if(tmp[j][k] != Nums[i][j][k]){flag = 0;break;}}if(flag == 0)break;}if(flag==1)return i;}return error;
}
void InitNums()
{//初始化0Nums[0][0][0] = '+';Nums[0][0][1] = '-';Nums[0][0][2] = '+';Nums[0][1][0] = '|';Nums[0][1][1] = ' ';Nums[0][1][2] = '|';Nums[0][2][0] = '+';Nums[0][2][1] = ' ';Nums[0][2][2] = '+';Nums[0][3][0] = '|';Nums[0][3][1] = ' ';Nums[0][3][2] = '|';Nums[0][4][0] = '+';Nums[0][4][1] = '-';Nums[0][4][2] = '+';//初始化1Nums[1][0][0] = ' ';Nums[1][0][1] = ' ';Nums[1][0][2] = '+';Nums[1][1][0] = ' ';Nums[1][1][1] = ' ';Nums[1][1][2] = '|';Nums[1][2][0] = ' ';Nums[1][2][1] = ' ';Nums[1][2][2] = '+';Nums[1][3][0] = ' ';Nums[1][3][1] = ' ';Nums[1][3][2] = '|';Nums[1][4][0] = ' ';Nums[1][4][1] = ' ';Nums[1][4][2] = '+';//初始化2Nums[2][0][0] = '+';Nums[2][0][1] = '-';Nums[2][0][2] = '+';Nums[2][1][0] = ' ';Nums[2][1][1] = ' ';Nums[2][1][2] = '|';Nums[2][2][0] = '+';Nums[2][2][1] = '-';Nums[2][2][2] = '+';Nums[2][3][0] = '|';Nums[2][3][1] = ' ';Nums[2][3][2] = ' ';Nums[2][4][0] = '+';Nums[2][4][1] = '-';Nums[2][4][2] = '+';//初始化3Nums[3][0][0] = '+';Nums[3][0][1] = '-';Nums[3][0][2] = '+';Nums[3][1][0] = ' ';Nums[3][1][1] = ' ';Nums[3][1][2] = '|';Nums[3][2][0] = '+';Nums[3][2][1] = '-';Nums[3][2][2] = '+';Nums[3][3][0] = ' ';Nums[3][3][1] = ' ';Nums[3][3][2] = '|';Nums[3][4][0] = '+';Nums[3][4][1] = '-';Nums[3][4][2] = '+';//初始化4Nums[4][0][0] = '+';Nums[4][0][1] = ' ';Nums[4][0][2] = '+';Nums[4][1][0] = '|';Nums[4][1][1] = ' ';Nums[4][1][2] = '|';Nums[4][2][0] = '+';Nums[4][2][1] = '-';Nums[4][2][2] = '+';Nums[4][3][0] = ' ';Nums[4][3][1] = ' ';Nums[4][3][2] = '|';Nums[4][4][0] = ' ';Nums[4][4][1] = ' ';Nums[4][4][2] = '+';//初始化5Nums[5][0][0] = '+';Nums[5][0][1] = '-';Nums[5][0][2] = '+';Nums[5][1][0] = '|';Nums[5][1][1] = ' ';Nums[5][1][2] = ' ';Nums[5][2][0] = '+';Nums[5][2][1] = '-';Nums[5][2][2] = '+';Nums[5][3][0] = ' ';Nums[5][3][1] = ' ';Nums[5][3][2] = '|';Nums[5][4][0] = '+';Nums[5][4][1] = '-';Nums[5][4][2] = '+';//初始化6Nums[6][0][0] = '+';Nums[6][0][1] = '-';Nums[6][0][2] = '+';Nums[6][1][0] = '|';Nums[6][1][1] = ' ';Nums[6][1][2] = ' ';Nums[6][2][0] = '+';Nums[6][2][1] = '-';Nums[6][2][2] = '+';Nums[6][3][0] = '|';Nums[6][3][1] = ' ';Nums[6][3][2] = '|';Nums[6][4][0] = '+';Nums[6][4][1] = '-';Nums[6][4][2] = '+';//初始化7Nums[7][0][0] = '+';Nums[7][0][1] = '-';Nums[7][0][2] = '+';Nums[7][1][0] = ' ';Nums[7][1][1] = ' ';Nums[7][1][2] = '|';Nums[7][2][0] = ' ';Nums[7][2][1] = ' ';Nums[7][2][2] = '+';Nums[7][3][0] = ' ';Nums[7][3][1] = ' ';Nums[7][3][2] = '|';Nums[7][4][0] = ' ';Nums[7][4][1] = ' ';Nums[7][4][2] = '+';//初始化8Nums[8][0][0] = '+';Nums[8][0][1] = '-';Nums[8][0][2] = '+';Nums[8][1][0] = '|';Nums[8][1][1] = ' ';Nums[8][1][2] = '|';Nums[8][2][0] = '+';Nums[8][2][1] = '-';Nums[8][2][2] = '+';Nums[8][3][0] = '|';Nums[8][3][1] = ' ';Nums[8][3][2] = '|';Nums[8][4][0] = '+';Nums[8][4][1] = '-';Nums[8][4][2] = '+';//初始化9Nums[9][0][0] = '+';Nums[9][0][1] = '-';Nums[9][0][2] = '+';Nums[9][1][0] = '|';Nums[9][1][1] = ' ';Nums[9][1][2] = '|';Nums[9][2][0] = '+';Nums[9][2][1] = '-';Nums[9][2][2] = '+';Nums[9][3][0] = ' ';Nums[9][3][1] = ' ';Nums[9][3][2] = '|';Nums[9][4][0] = '+';Nums[9][4][1] = '-';Nums[9][4][2] = '+';
}void write(int i)
{int j,k;for(j=0; j<5; j++){for(k=0; k<3; k++){OutputNums[j][k+out_p] = Nums[i][j][k];}}out_p+=4;}
转载于:https://my.oschina.net/qkmc/blog/679787
OJ题目-使用+-|等符号表示数字,进行运算【C语言】相关推荐
- 牛客网题目——不用四则运算符号,计算两个数字的和
牛客网题目--不用四则运算符号,计算两个数字的和 这道题的关键在于理解二进制如何执行两个数的加和操作. 二进制每位相加就相当于各位做异或操作:因此解法大致可以分为两步: 第一步:相加各位的值(下一步再 ...
- 循环相乘取整法C语言,华为OJ机试题目:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘)...
题目描述: 输出两个不超过100位的大整数的乘积. 输入: 输入两个大整数,如1234567 123 输出: 输出乘积,如:151851741 样例输入: 1234567 123 样例输出: 1518 ...
- 九度OJ 题目1179:阶乘
/********************************* * 日期:2013-2-8 * 作者:SJF0115 * 题号: 九度OJ 题目1179:阶乘 * 来源:http://ac.jo ...
- Python爬虫练习(爬取OJ题目和学校信息通知)
爬取OJ题目和学校信息通知 一.爬取南阳理工OJ题目 1. 初步分析 2. 代码编写 二.爬取学校信息通知 1. 每页url分析 2. 每页内容爬取 总代码 三.总结 参考 一.爬取南阳理工OJ题目 ...
- C语言实战题目:从键盘输入数字,计算其中正数的个数,并且计算所有正数的和
C语言实战题目:从键盘输入数字,计算其中正数的个数,并且计算所有正数的和 (遇到负数跳出本次循环继续重新输入,如果遇到0,则结束输入,输出答案) [for循环结构+if选择控制结构] #include ...
- 正则表达式校验密码策略最少8位,大小写字母加符号加数字的组合
可以使用如下的正则表达式来校验密码策略最少8位,大小写字母.符号和数字的组合: ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*])(?!.*\s). ...
- 九度OJ 题目1069:查找学生信息 随笔
** 九度OJ 题目1069:查找学生信息 ** 题目描述如下: 输入N个学生的信息,然后进行查询. 输入 输入的第一行为N,即学生的个数(N<=1000) 接下来的N行包括N个学生的信息,信息 ...
- 九度OJ 题目1203:IP地址
/********************************* * 日期:2013-2-8 * 作者:SJF0115 * 题号: 九度OJ 题目1203:IP地址 * 来源:http://ac. ...
- 杭电OJ第11页2085~2089算法题(C语言)
目录 2085.核反应堆 2086.A1 = ? 2087.剪花布条 2088.Box of Bricks 2089.不要62 2085.核反应堆 Problem Description 某核反应堆有 ...
最新文章
- oracle日期处理(一)
- java 列表框简单案例
- springboot+Mybatis-plue自动生成代码
- 根据生日计算年龄 java_Java 根据出生日期获得年龄
- 《神奇的数学》读后感_数学家的眼光读后感
- 达梦数据库修改字段长度_Oracle、MySQL、达梦数据库新增修改删除字段
- 关于KNX/IP 网关协议报文解析以及几个注意事项
- Apache apollo 配置说明及用户名和密码管理
- 2019年java程序员推荐笔记本_2020程序员笔记本推荐?
- KingbaseFlySync replicator安装(Mysql-KES)
- 5G业务测试方法与验证
- JavaScript实现Word、Excel、PPT在线预览
- vs2019生成dll,并调用
- 利用Hudi Bootstrap转化现有Hive表的parquet/orc文件为Hudi表
- 黑金开发板在NiosII环境下烧写image到flash失败的解决办法
- AirDIsk产品第三方Samba同步工具
- android 仿苹果按钮,android 仿iphone 滑动开关按钮 switch
- H5实现类似微信可拖拽左右吸边浮动按钮
- 7-9 集合相似度 (25 分)
- Mybatis执行update,insert等语句返回的不是受影响的行数