C中,輸入正整數a,b,c,a除以b小數點保留到c位,c100,a,b1000000的具體思路

時間 2021-09-11 22:33:38

1樓:

這個可以滿足你的要求,就是模擬人工除法

# include

void main()

{int a,b,c,i,yushu;

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

yushu=a%b;

printf("%d.",a/b);

for (i=0;i

2樓:汐日南莘

思路就是當分子小於分母時,分子乘10,然後分子除分母,這個結果就是小數,結果可以用一個陣列儲存,然後分子對分母求餘

如1/7

先分子乘10,然後10/7=1  1儲存在陣列a中然後 分子對分母求餘  分子就變成3了

接著3乘10,以此類推

意思就是做人工除法

你等下  我給你個程式看看

#include

int main()

int  a, b, c,g[100],k=0,s=0;

為分子  b為分母 c為小數點的位數

if(a>b)

{//如果分子大於分母

s=a/b; //得到整數部分

a=a%b;  //得到餘數為分子

while(ka=a*10;

g[k]=a/b;

a=a%b;

k++;

printf("%d.",s);

for(int j=0;jprintf("%d",g[j]);

printf("\n");

還有不懂可以追問

3樓:兔子和小強

只要模擬人工怎麼計算除法即可。

#include

int main()

{int i, a, b, c;

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

a = a%b;

for(i=1; i

4樓:

樓上說的基本上是對的,但這個還有個問題,就是事實上輸出的數的最後一位是不會四捨五入的,比方說a=1,b=6,c=4,應該輸出1.6667,但按樓上的會輸出1.6666,所以應該求出c+1位數,輸出最後一位數的時候還要進行一個判斷,如果第c+1位上的數大於等於五,那c位就應該加1,這個用一個if就可以解決了,我就不打了,其實我也是來找這個題目的答案的~~~~

c語言 輸入正整數a,b,c,輸出a/b的小數形式,保留小數點後c位。a,b<=1000000,c<=100

5樓:匿名使用者

#include

int main()

6樓:朝朝戰士邦

#include

//最大的精度

#define max_length 120//計算商

int getfactor(int a, int b)//計算餘數

int getremainder(int a, int b)//是否整除

bool isaliquot(int a, int b)return ret;

void division(int a, int b, int precision, int ans[max_length])

int i=0;

for(i=0; i max_length)//計算

division(a, b, c, ans);

printf("%d / %d , the answer is:(precision:%d)\n",a, b, c);

printf("%d . ",ans[0]);

int i = 0;

for(i=1; i<=c ; i++)

}printf("\n");

printf("calculation finished!\n");}

7樓:高店村四組

這一題難就難在抄原理上,其襲

實程式並不難,舉個例子吧:

a>b的情況,如4/3,那麼,整數部分直接可以用a/b輸出了,然後輸出小數點。小數部分的話,你想想,是不是可以這麼算,(int)((4/3-(int)4/3)*10)就是×10取整,然後取減去整數部分後的分數,為a*10-(int)(a*10/b)*b。至於怎麼來的,自己好好琢磨吧。

#include "stdio.h"

void fuc(int a,int b,int c)}else}}

void main()

c語言題目:輸入正整數a,b,c,輸出a/b的小數形式,精確到小數點後c位。例如a=1,b=6,c=4時應輸出0.1667

8樓:匿名使用者

#include

void main()

能力有限,只能幫你做到此了,輸出結果末尾有無效的0,不知怎麼去掉。希望能幫到你

9樓:雷曉

因為如果是int型的話,用a/b得不到小數點,是整除的結果,所以要轉換為float型或者a*1.0/b或者a.0/b;

其實在多數都是這個原理的,方法沒改變的,不會影響的,除非有0的話,就要用if判斷一下的

希望可以幫助到你

10樓:匿名使用者

void div(int a, int b, int n)

}應該可以了。你試下。

11樓:吾生也有涯

void main()

乘以一個小數就可以

12樓:匿名使用者

你沒有考虐溢位哦,親

輸入3個整數給a,b,c然後交換它們中的數,把a中原來的值給b,把b原來的值給c,把c中原來的值給a。 源程式:

13樓:匿名使用者

#include

void main()

14樓:摒棄房期

賈母——來自四大家族之史家,賈府老太太,寶玉祖母。在賈家從重孫媳婦做起,一直到有了重孫媳婦。她憑著自己的精明能幹,才坐穩了賈家大家長的位置。

c語言編寫程式,讀入三個整數給a.b.c,然後交換他們中的數,吧a中原來的值給b,把b中原來的值給

15樓:匿名使用者

#include

int main()

16樓:匿名使用者

public static void main(string args)

C 語言輸入正整數,判斷它是否是迴文數

問明 include stdio h include stdlib h int main int num,k,n 0 printf 請輸入一個數 scanf d num k num while k 0 n n 10 k 10 k k 10 if n num printf d是迴文數 n else p...

c語言程式設計輸入不超過5位的正整數

include void main printf 它是 d位數 n sum int j printf 它的每一位是 for j i j 0 j 此時i的值是上個迴圈的值 printf d a j printf n printf 逆序輸出每一位 for j 0 j i j printf d a j i...

c語言題目 輸入正整數a,b,c,輸出a b的小數形式,精確

你沒有必要那樣做的,直接這樣就可以了。如。c 8 double pp a b if pp 1000000000 10 4 判斷小數點後第9位是否大於4,大於4就要進位 pp 0.00000001 printf 結果是 0.8f pp 輸出結果,自動只輸出到小數點後8位。 include includ...