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;

  }

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

posted @ 2016-07-07 11:38  冰杖  阅读(256)  评论(4编辑  收藏  举报