高精度,是學C語言漫長的路上必須要學的一類程序
>>>高精度加法(C語言實現)<<<
>>>高精度減法(C語言實現)<<<
>>>高精度乘法(高精乘低精)(C語言實現)<<<
>>>高精度乘法(高精乘高精)(C語言實現)<<<
>>>高精度低法(高精除低精)(C語言實現)<<<
源代碼&註釋
#include<stdio.h>
#include<string.h>
char s[1000000];
int a[1000000],b[1000000];
int len,lenb;
int d,yu;
/*-------------高精度除法(低)--------------*/
void chu_di() //高精除低精
{
int yu=0;
memset(a,0,sizeof(a)); //清空數組a
memset(b,0,sizeof(b));
len=strlen(s); //s的長度
for(int i=0;i<=len-1;i++)
a[i+1]=s[i]-'0';
for(int ii=1;ii<=len;ii++)
{
b[ii]=(yu*10+a[ii])/d;
yu=(yu*10+a[ii])%d;
}
int lenb=1;
while(b[lenb]==0&&lenb<len)
lenb++;
printf("結果:\n");
printf("%s ÷ %d = ",s,d);
for(int j=lenb;j<=len;j++)
printf("%d",b[j]);
if(yu!=0)
printf("......%d",yu);
printf("\n");
} //高精度除法(高)你懂了嗎
void print() //輸出函數
{
printf("高精度除法(低)(By STY)\n\n");
printf("退出請按“Ctrl+Z”(在鍵盤上),並按回車,謝謝使用!\n");
printf("請輸入兩個數字:\n");
printf("數字:(用空格隔開)\n");
printf("(前一個數字是大數,後一個不是)\n");
}
int main()
{
print();
while (scanf("%s%d",s,&d)!=EOF)
{
chu_di(); //引用高精度除法函數
printf("\n\n");
print();
}
return 0;
}
這就是高精度低法(高精除低精)的整段代碼,
希望大家在看了這篇文章後理解和會使用高精度低法(高精除低精)的運算了
希望大家喜歡這篇文章!!!
如有問題請留言,謝謝!!!