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

时间:2023-03-08 17:20:17

以下是我今日的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;

}

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