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 注意替換時一定不要忘記 所有巨集替換是在編譯之前的預處理模組完成的 此時還沒...