该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#define _CRT_SECURE_NO_WARNINGS

#include

#include

//取出位数

int wei(int n)

{

int num = 0;

for (; n > 0; n /= 10)

num++;

return num;

}

//将位数大的放第一个,方便相乘

void swap(int *a, int *b)

{

int anum = wei(*a);

int bnum = wei(*b);

int temp;

if (anum < bnum)

{

temp = *a;

*a = *b;

*b = temp;

}

else

return;

}

void main()

{

int a,b;

printf("input:");

scanf("%d%d", &a, &b);

swap(&a, &b); //检测一下a,b位数的大小,保证位数大在最前边

int btemp = b; //用btemp保存b的值,作为备份,下面的计算会影响b的值

int anum = wei(a); //取出a的位数

int bnum = wei(b); //取出b的位数

int pos =wei(a*b); //确定相乘以后的位数,方便布局

printf("out:\n");

for (int i = 0; i < pos-anum+1; i++)

printf(" ");

printf("%d\n", a);

for (int i = 0; i < pos - bnum-1; i++)

printf(" ");

printf("* ");

printf("%d\n", b);

for (int i = 0; i < pos+5; i++)

printf("-");

printf("\n");

//取出b的每一位与a相乘

for (int i = 0; i < bnum; i++)

{

int x, mul,mulwei;

x = b % 10;

b/=10;

mul = x*a;

mulwei = wei(mul); //取出b的每一位与a相乘的位数

for (int j = 0; j < pos - mulwei+1-i; j++) //减i是因为b的每一位与a相乘要错一个位置

printf(" ");

printf("%d\n", mul);

}

for (int i = 0; i < pos + 5; i++)

printf("-");

printf("\n");

printf(" %d\n",a*btemp); //输出最后的结果

system("pause");

}

VS2013环境

c语言乘法怎么手写,发现要实现手写乘法计算过程也让我头疼相关推荐

  1. C语言典型代码---SSDP设备发现

    C语言典型代码---SSDP设备发现 为何接触到SSDP SSDP介绍 典型报文 代码实现 全部发现: 指向发现: 为何接触到SSDP 起初是为了学习如何扫描局域网设备信息,nmap,arp-scan ...

  2. 手写篇:如何手写RPC框架?

    手写篇:如何手写RPC框架? 首先我们讲下什么是RPC? RPC(Remote Procedure Call)远程过程调用协议,他是一种通过网络从远程计算机程序请求服务.简单的来说,就是通过网络进行远 ...

  3. c语言写贪吃蛇什么水平_学了一些C语言,也不知道自己学到什么程度,自己想写个贪吃蛇但是写不出来,想看懂下面这个程序,求解释...

    已结贴√ 问题点数:20 回复次数:3 学了一些C语言,也不知道自己学到什么程度,自己想写个贪吃蛇但是写不出来,想看懂下面这个程序,求解释 #include//基本库 #include//系统库 #i ...

  4. 【手写系列】纯手写实现一个高可用的RPC

    前言 在实际后台服务开发中,比如订单服务(开发者A负责)需要调用商品服务(开发者B负责),那么开发者B会和A约定调用API,以接口的形式提供给A.通常都是B把API上传到Maven私服,然后B开始写A ...

  5. 【手写系列】纯手写实现JDK动态代理

    前言 在Java领域,动态代理应用非常广泛,特别是流行的Spring/MyBatis等框架.JDK本身是有实现动态代理技术的,不过要求被代理的类必须实现接口,不过cglib对这一不足进行了有效补充.本 ...

  6. 发现自己的代码写的越来越玄幻了

    //_________________________________________________// //      Description :   发现自己的代码写的越来越玄幻了        ...

  7. 手起刀落-一起来写经典的贪吃蛇游戏

    回味 小时候玩的经典贪吃蛇游戏我们印象仍然深刻,谋划了几天,小时候喜欢玩的游戏,长大了终于有能力把他做出来(从来都没有通关过,不知道自己写的程序,是不是能通关了...),好了,闲话不多谈,先来看一下效 ...

  8. c语言time.h时区不对,用C语言修改系统时区,发现一堆问题,请各位大侠不吝赐教。...

    用C语言修改系统时区,发现一堆问题,请各位大侠不吝赐教. (2012-06-13 03:14:10) 标签: 系统 c语言 杂谈 用C语言修改系统时区,发现一堆问题,请各位大侠不吝赐教.已经实现,用s ...

  9. C语言之字符串探究(四):读越界、写越界

    相关博文:C++之char和string字符串类探究 相关博文:C语言之数组探究(一):定义.大小.初始化.访问和三要素 相关博文:C语言之字符串探究(一):字符串与字符数组 相关博文:C语言之字符串 ...

  10. R语言使用lm函数构建多元回归模型(Multiple Linear Regression)、并根据模型系数写出回归方程、使用fitted函数计算出模型的拟合的y值(响应值)向量

    R语言使用lm函数构建多元回归模型(Multiple Linear Regression).并根据模型系数写出回归方程.使用fitted函数计算出模型的拟合的y值(响应值)向量 目录

最新文章

  1. linux无任务内存被占满,centos服务器CPU被GC task占满,程序无内存溢出
  2. STC89C52单片机 点亮两个数码管,可以显示 00——10 共 11 个数字
  3. angular——更多按钮的上拉菜单(路由跳转)
  4. argumentoutofrangeexception:长度不能小于0_数组长度属性背后的魔力有哪些?
  5. CentOS7.3安装Nginx
  6. myeclipse包导入项目lib下无效
  7. ARX二次开发 遍历删除所有的约束
  8. 华为电脑如何投屏到电视linux,华为无线投屏怎么用
  9. JavaWeb面试题1
  10. 计算机组成原理课题讨论——编译器对程序的影响
  11. 生成式模型和判别式模型的区别
  12. 用matlab s函数 阶梯,Matlab S函数使用介绍
  13. 平台与品牌-创作者-用户共舞,西五街交出种草新答卷
  14. 智慧农业物联网应用案例介绍
  15. 第七章 浮动(制作京东登录页面)
  16. 操作系统实验:系统内存使用统计
  17. 基础算法(一)零基础学算法---总结大篇
  18. unity调用安卓手机物理返回键和home键
  19. 乐园管理系统| 乐园小程序 | 数字化门店会员管理
  20. 【Alpha】Scrum Meeting 5

热门文章

  1. 《Ansible权威指南 》一1.6 Ansible应用场景
  2. MySql存储过程的操作
  3. Ex2010学习(十),恢复用户已删除邮件
  4. BeanShell变量和方法的作用域
  5. 补丁生成与应用工具 V1.5.4
  6. 剑指offer、二叉搜索树的第K个结点(python)
  7. ARM开发7.3.1 基础实训( 1 ) 单个按键的输入系统设计( 1 )--LPC21XX
  8. txt替换回车键符号怎么打_电脑小于等于符号≤怎么打
  9. python画图x轴时间间隔_matplotlib绘图-设置横坐标为日期显示范围与间隔
  10. 页面加载完就执行的设置?