C語言兩個乘法計算後相加,C語言2個數相乘

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

1樓:一口沒水的枯井

你的巨集定義使用錯了,其末尾不能加分號

如果加了分號 就變意思了

例如你的巨集定義是

#define cost1 0.568;

#define cost2 0.288;

那麼cost=a*cost1+b*cost2;

就會被解析成

cost=a*0.568;+b*0.288;;

即變成了3條語句

cost=a*0.568;

+b*0.288;

;    //空語句

所以你只要去掉每個巨集定義末尾的分號就行了

望採納~

2樓:山水阿銳

/*本程式假設所輸入的大數均在20位以內,並且輸入數字時候假定不出現非法情況(例如不存在這樣情況123a78ty等)

這裡只完成了大數的乘法運算

*/#include

"stdio.h"

#define max 21

void inputnumber(int ); //輸入大數

void initnumber(int );

//初始化用於存放結果的陣列

void multi(int ,int ,int ); //進行大數乘法

void

singlemulti(int ,int,int ); //對大數乘以一位數的函式

void add(int ,int );

//對結果進行錯位相加

void printresult(int ); //輸出結果

void main()

void inputnumber(int largenumber)

largenumber[0] = i;

}void initnumber(int result)

void multi(int number1,int number2,int result)

}void singlemulti(int number1,int number2,int temper)

if (t >

0)else

temper[0] = 2 * max -2 - c;

}void add(int result,int temper)

if (t == 1)

result[c] =

1;pos--;

}void printresult(int result)

3樓:飛臨雲霄

贊同二樓。巨集定義實際上是直接的資料替換 所以說你的cost1 實際被替換成了0.568;

所以你在計算的時候就變成了 a*0.568;那麼b就被省略了

4樓:

你的巨集定義後面都多了個分號,去掉就可以了。

c語言2個數相乘

5樓:蛙家居

兩數相乘的c語言程式設計:

6樓:金魚

兩數相乘的c語言程式設計:

#include

void main()

7樓:匿名使用者

樓上的白痴吧 別人要相乘 你給個相加的

8樓:逍遙澤晉

#include

int main()

9樓:匿名使用者

#include

int main()

10樓:匿名使用者

#include

main()

11樓:金不換上老牛

碰到問題,要想想**出錯了,在仔細找找才能發現解決問題啊.

不要**不懂就問,那樣顯的你很冷門 =.=

乘法在c語言中怎麼表示?比如加法是add

12樓:匿名使用者

估計你的意思是說c語言編譯成組合語言之後乘法怎麼表示吧,因為在彙編中加法確實是用add表示的,下面給你運算子表:

add 加法.

adc 帶進位加法.

inc 加 1.

aaa 加法的ascii碼調整.

daa 加法的十進位制調整.

sub 減法.

sbb 帶借位減法.

dec 減 1.

nec 求反(以 0 減之).

cmp 比較.(兩運算元作減法,僅修改標誌位,不回送結果).

aas 減法的ascii碼調整.

das 減法的十進位制調整.

mul 無符號乘法.

imul 整數乘法.

以上兩條,結果回送ah和al(位元組運算),或dx和ax(字運算),

aam 乘法的ascii碼調整.

div 無符號除法.

idiv 整數除法.

以上兩條,結果回送:

商回送al,餘數回送ah, (位元組運算);

或 商回送ax,餘數回送dx, (字運算).

aad 除法的ascii碼調整.

cbw 位元組轉換為字. (把al中位元組的符號擴充套件到ah中去)

cwd 字轉換為雙字. (把ax中的字的符號擴充套件到dx中去)

cwde 字轉換為雙字. (把ax中的字元號擴充套件到eax中去)

cdq 雙字擴充套件. (把eax中的字的符號擴充套件到edx中去)

13樓:萬能度神娘

乘法在c語言裡就是運算子*,如下參考c語言乘法口訣表。

#include < stdio.h >

#include < stdlib.h >int main()

printf("\n");

}system("pause");

return 0;}

14樓:匿名使用者

組合語言里加法是「add」,c語言裡面就是「+」。就是這樣,勿要追問具體我也不懂的。

15樓:與子如初見

加法就是+。不是add。你說的add是英語。

乘法就是*。

16樓:

乘法 在英語裡是 multiply 在c語言裡就是運算子*

c語言求兩個一維陣列相乘再求和,求教了

17樓:火駒

#include

void main()

;int b[3]=;

int sum=0;

for(int i=0;i<3;i++)

printf("%d\n",sum);}

18樓:匿名使用者

int x = 0;

for(int i = 0;i < 3;i++)

19樓:_誠兒

int c[3];

void fun(int a, int b)}

c語言程式設計:輸入兩個數和一個運算子,計算其結果。

c語言編寫一個函式將兩個一維陣列對應元素相乘

20樓:匿名使用者

兩個bai一維陣列的長度必須相同du,否則無法相乘。zhi思路為,迴圈

dao遍歷陣列,並將對應元素專相乘,結果屬存到第三個陣列中。

以整型為例,示例**如下:

void array_multi(int *a, int *b, int *r, int len)//將長度為len的陣列a,b對應元素相乘,結果存於r中。

21樓:空空

#include

void cheng(int*a,int*b,int*c,int r)

int main(),

b[10]=,c[10],i;

cheng(a,b,c,10);

for(i=0;i<10;i++)printf("%d ",c[i]);

return 0;}

c語言程式設計時碰到一下兩個問題,有兩個c語言程式設計問題問一下

由於要捨棄小數部分並且double表示的資料比int大得多,編譯器會有這樣的警告,讓你確認不會有溢位問題。可以考慮不用pow計算整數2的k次方 m 1 for i 0 i pow函式返回的是double型別 而你的m是int型 所以提示會有精度損失 有兩個c語言程式設計問題問一下 題目翻譯1.編寫一...

c語言輸出99乘法表,C語言輸出99乘法表

飛喵某 1 首先使用vs2017新建一個c語言的檔案,引入標頭檔案並寫好main主函式 2 接著編寫程式的主體部分,這裡的第一個for迴圈給x和y迴圈賦值,第二個for迴圈中y x的時候,會使x的值在第二個for迴圈中大於等於y的值。最後的printf語句寫在第二個for迴圈的後面,目的是換行 3 ...

求問c語言兩個題,求教C語言程式設計題兩道。

1 要相信執行結果 巨集是替換 程式是這樣執行的 fb fb k,k 1 k 7 fb k k 1 1 k 7 第一次巨集替換 k k 1 1 k 1 7 第二次巨集替換 3 3 1 1 3 1 7 11 3 1 7 27 注意替換時一定不要忘記 所有巨集替換是在編譯之前的預處理模組完成的 此時還沒...