a*b(高进度乘以int类型的数)

以下是我今日的a-b(高精度)的程序,\(^o^)/偶也偶也偶也偶也!

程序:

#include<stdio.h>

#include<string.h>

char s[1000];----------------------------------------------------------//定义一个字符数组

int a[1000]={0};-----------------------------------------------//定义一个int类型的数组

int main()

{

int l1,i,t;

freopen("gjc.in","r",stdin);

freopen("gjc.out","w",stdout);//文件操作

scanf("%s",s);------------------------------------------//读第一个数在字符串中

scanf("%d",&t);---------------------------------//读第二个数,今天类型

l1=strlen(s);----------------------------------------------//用strlen函数来得到第一个数的长度

for(i=0;i<=l1-1;i++)

{

a[l1-1-i]=s[i]-‘0‘;

}---------------------------------------------------------//将第一个数在字符串中转成int类型数组

for(i=0;i<=l1-1;i++)

{

a[i]=a[i]*t;

}

for(i=0;i<=l1-1;i++)

{

if(a[i]>=10)

{

a[i+1]=a[i+1]+a[i]/10;

a[i]=a[i] % 10;

}

}-------------------------------------------------------------------//用循环来做乘法

while(a[l]>=10)

{

a[l1+1]=a[l1+1]+a[l1]/10;

a[l1]=a[l1] % 10;

l++;

}----------------------------------------------------------------------------//进行进位

for(i=l1;i>=0;i--)

{

printf("%d",a[i]);

}----------------------------------------------------//倒序输出

return 0;

}

我一定要向后面前进,向高处进发,出发!

时间: 2024-08-01 16:39:35

a*b(高进度乘以int类型的数)的相关文章

oc学习之路-----搞死指针之内存存储int类型

关于每个数据类型个字节在内存中的存储地址(以int为例) 先上图 如题,为什么说好的*p = &c是1啊,为什么是513呢,一开始,我也觉得挺惊讶的,后面听老师分析了一下才知道怎么回事,但是还是有那么一个为题不知道怎么回事,经过上网查了下资料,终于有了些眉目,但是一样有一个问题(后面回说道),切让我抛砖引玉. 要理解这个程序,首先我们要了解每个数据类型的字节排序 而字节排序又分两种:一种是 big endian 一种是little endian big endian意思是讲高序字节(高位)存储到

char类型与int类型相加

char类型是16位的,底层采用unicode编码保存.char类型是可以直接赋值给int类型的,因为是16位到32位低到高.举个例子比如int i='1';打印i的值是49.char类型跟int类型进行计算的时候会自动转换为int类型比如System.out.println('1'+1);输出结果是50.char类型的'='换成int是61 原文地址:https://www.cnblogs.com/lxl87/p/11555914.html

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型

import java.util.Stack; /**  * 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型.  * @author user  *  *思路:队列是先入先出,栈是先入后出,可以将数据压入第一个栈后,在弹出来压入第二个栈,弹得时候直接从第二个栈弹出,弹出后又将  *第二个栈中的所有数据弹出重新压入的一个栈  */ public class Solution {     Stack<Integer> stack1 = new Stack<

mysqlint类型的长度值mysql在建表的时候int类型后的长度代表什么

详解mysql int类型的长度值 mysql在建表的时候int类型后的长度代表什么 是该列允许存储值的最大宽度吗 为什么我设置成int(1), 也一样能存10,100,1000呢. 当时我虽然知道int(1),这个长度1并不代表允许存储的宽度,但却没有一个合理的解释. 或者说对这个长度也没有真正的研究过到底代表什么, 平时都用int(11), 也不知道为什么要11位. 所以我在网上查阅了一些资料, 也仔细的看了mysql手册关于int data type的说法. 以下是每个整数类型的存储和范围

java将int类型的变量转化成String类型的

第一种方法:String的valueOf方法,int i=5;String s=String.valueOf(i);第二种方法,直接在int后面加一个空的字符串,因为在java里面,默认任务int类型和字符串类型相加,为字符串类型.int i=6:String s=i+"";3第三种:使用int的封装类Integer,在Integer里面用他的toString方法.int i=7:String s=Integer.toString(i);

使用MyBatis查询int类型字段,返回NULL值时报异常的解决方法

当配置mybatis返回int类型时 select id="getUserIdByName" parameterType="string" resultType="int"> SELECT id FROM user WHERE userName = #{userName} </select> 会报错如下: org.springframework.web.util.NestedServletException: Request p

int类型各位数累加

优化前: /// <summary>计算int类型各位数累加之和(1)</summary> static int Calc1(int i) { int result = 0; var array = i.ToString().ToCharArray(); foreach (var item in array) { result += Convert.ToInt32(item); } return result; } 优化后: /// <summary>计算int类型各位

使用DataOutputStream写入int类型数字不能显示

前段时间做Android系统项目需要使用DataOutputStream数据流向文件里写入数据,写入的有String类型和int类型.写入之后在代码中使用DataInputStream读出是没有问题的,处于好奇心就把生成的文件导出来查看了一下. 打开之后发现,生成的文件里有一堆乱码,除了一些String类型的数据,其他都是乱码.当时第一反应应该是编码格式的问题,应为DataOutputStream里有writeUTF之类的方法,相当于指定的编码格式,于是我就把打开格式切换成各种编码格式,utf8

一个int类型究竟占多少个字节

一个int占多少个字节? 这个问题我们往往得到的答案是4. 可是int究竟占多少个字节,却跟你的机器环境有关. As you can see, the typical data type sizes match the ILP32LL model, which is what most compilers adhere to on 32-bit platforms. The LP64 model is the de facto standard for compilers that genera